Not sure why the injection is failing.  Can you try removing the name() attribute from each of the injected fields and re-running.    
Also, if you do the following explicit global lookup from within the filter does it work? 
   (SystemRemote) new InitialContext().lookup("ejb/SystemBean")
[Message sent by forum member 'ksak' (ksak)]
http://forums.java.net/jive/thread.jspa?messageID=333652