We've created a script which allows us to have a second plugin directory for some various business reasons. Because of that the paths/urls which plugins use matter. We tend to see that these paths matter for multi-site setups as well.
When we tried to use OSE Firewall™ in our second plugin directory we found that the paths it created broke our setup. We also found a bug where you used "$filename" when you should have used "$langfile" on line 14.
I made changes to the main plugin file. I fixed the bug and made all the require() paths relative instead. Please let me know if these are changes you could incorporate.
I have put my changes into a GIST file here: