The LAYOFF command checks to see if you are working on the Model tab or a Layout tab. If you are working inside a viewport on a Layout tab, the command does not turn layers off, it Viewport-Freezes them.
Oddly, LAYFRZ works the same way.
A way around it would be to add your own command to use in addition to or instead of LAYOFF:
(setq lay (cdr (assoc 8 (entget (car(entsel "\nSelect object on layer to turn off: "))))))
(command "-layer" "off" lay "")
It's not fancy, but it will do the job. Add a loop if you want it to keep asking for more objects/layers.
Tim Corey, Owner Delta Engineering Systems Redding, CA Autodesk Authorized Value-Added Reseller
Both LAYOFF and LAYFRZ have a Settings option (watch that command line): you can turn off the "viewport" effect you describe in the core command, no lisp required. Tap that HELP file and explore more if you wish.
Things are like this, I am using AutoCAD 2010 at home with no any settings such means when i use "layoff" in paper space that will just turned off the selected layers in model space. However, school is using AutoCAD 2008 til now 2013, when i use "layoff" in paper space that will just freeze the selected layer in paper space and it still kept on in model space. But they havent set up anything. So that must be something works in the settings. I just found its really useful with "layon" and "layoff" in paper space. i can just create a viewport and "layoff" those layers i dont need in this drawing. Please help...