I'm experiencing the same problem now when I upgraded from 4.0.4.RC1 to 4.0.4.GA
@PostConstruct on my @Stateless session beans are not invoked.
I inject the SLSB in a MDB using @EJB, and on another place I manually look up the SLSB from a Servlet. Non of the use-cases invoke the @PostConstruct annotated method in the SLSB.
The code was linked with the old jboss-ejb3x.jar from 4.0.4.RC1.
In that version the @PostConstruct package name was javax.ejb.
4.0.4.CR2/GA follows the spec and has moved @PostConstruct to javax.annotation.
So make sure you remove all references to old ejb3 jars and use the ones that come with jboss-4.0.4.GA. This makes life easier for you.