Your goal is to pass the exam. Stick to the spec. I don't see a point in proving that some vendor implementation allows some things which are prohibited by spec. BTW: Relying on such things in real commercial projects is not the smartest thing to do.
The reality is that no application server is *100%* spec compliant. That being said, I don't think this is really a critical issue, as long as your code is spec compliant. All Java EE 5 certified application servers must pass the Sun compatibility test kit, but the set of tests in the test kit is not necessarily perfect (I think that would be an almost impossible job).
I would say try JBoss 5, which is Java EE 5 certified. GlassFish, Geronimo, WebLogic and WebSphere are good choices too. In particular, I know that Geronimo and WebLogic tries hard to be spec compliant, even beyond the certification test kit.
Hope this helps,
Independent Consultant — Author, EJB 3 in Action — Expert Group Member, Java EE 6 and EJB 3.1
Without deviation from the norm, progress is not possible - Zappa. Tiny ad: