Even if there were holes in all the pistons, it should register on the gauge. I mean, 40 psi is ridiculously low, and that should read fine on the gauge. I honestly can't recall getting a compression reading less than 50 psi on a 318, and that was on a cylinder that had a valve hanging wide open (bent valve) AND a blown head gasket. And to get that in all your cylinders leads me to believe its not the engine.
My guess is you either have a really awful/broken gauge, or you're not sealing the spark plug hole with the adapter. I am assuming that this isn't the screw in type of compression tester.
Just for fun, could you detail the process you're using when you test a cylinder (ie, warm the engine up, remove all the spark plugs, fix the throttle wide open for the entire test, etc.) But, even if your process is wrong I can't see it not reading on the gauge. Even if you didn't do any of the things I mentioned I can't see it not reading on the gauge. The test wouldn't be accurate, but not reading on the gauge is something else.