the line in socket io reads:
fn.apply(this, packet.data);
You've already reported that the fn has an apparently valid value. If this is true, that would suggest that the error message could be misleading, that the problem is either the "this" is null packet.data is null.
You've already set up a breakpoint so you could examine fn, it should be easy to check the other two as well. Given that you do server programming, I'm going to guess that you've changed something so that packet.data isn't being set appropriately.
If you can reproduce the problem with unmodified server code and some client code, send me the example client code and I'll see what I spot.
Otherwise, it's something you'll need to take up with Rod (aka the EasyRTC server lead).