1) The J2EE 1.4 way of doing things will be deprecated with the J2EE 5 spec. At some point it will stop being supported. 2) Isn't the J2EE 5 spec still not finalized? 3) If you are not using any of the J2EE 5 spec, you are really developing for 1.4. You just may happen to be deploying to a server that supports both 1.4 and 5.
I haven't worked with annotations and I don't know how many injections are there in Java EE 5.
When I'm "on the job", I don't have the time to upgrade my skills to the new version of the technology I'm working with, so I can see where you're coming from. However, it's usually a good idea to learn and become confident with the new things after finishing what you're currently working on but before moving on to the next project... My advice would be to learn about annotations and to check the Java EE 5 specs to see what annotations are available in which containers and how best to use them. No doubt various articles will be (and already have been) published on this subject; use those and the specs. as a starting point. Part of the life of a Java developer is to keep up with the trends and make sure you appreciate and can make effective and appropriate use of new technologies (you should also be familiar with generics and enums for instance).
Oh, and although I don't work with EJBs on a daily basis, from what I've seen resource injection is a major improvement. It seriously cuts down the code required in implementation code and can remove entire chunks of the deployment descriptor. See also this tech article for a start: