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