You're right, it doesn't make sense to differentiate between a function that writes and one that reads. In that case I have to stick with my initial opinion, a legal no-op shouldn't be turned into an illegal operation in LWJGL, that feels like a slippery slope towards some kind of parallel, vaguely documented spec beyond the original.
However arguing this with a developer feels a little awkward since I'm just an outsider looking in, while you have an inside view and more experience in the matter..so basically that's my opinion, but if you decide otherwise that's that, I can use the provided VM flags if need be.