I may have figured it out partially. I had to completely and utterly simplify all of my files first. Of course, in the end the problem doesn't seem to be related. Apparently, entities (par files) are not hot deployable. Even though the console displays some deployment related information when hot deploying, the entities get screwed up. So, you have to shutdown JBoss, delete all your ejb3's that depend on the entities, delete all your client code that depend on the ejbs, then re-deploy all of the above. So much for ease of development.
I have confirmed that the problem is in the deployment order. Is this how it is supposed to be?