Just to follow up so far, I've found that on server startup, MDBs are firing before the Servlet Lifecycle listeners are firing. So, while the webapp may not be started, the EJBs are started.
This makes sense, no use having the servlets fire up without the EJB tier ready to go. But, just an FYI for anyone who stumbles upon this later.
[Message sent by forum member 'whartung' (whartung)]
http://forums.java.net/jive/thread.jspa?messageID=222785