The Solution to this problem is Annoyingly simple:
You have to restart VS2010 after registering the new custom culture on the machine in order for it to generate the satellite assembly for the newly added custom culture.
Apparently VS2010 (hope MS fixed it in 2012) caches the cultures on the machine when it loads and won't create satellite assemblies for resx file of cultures that it doesn't know of. no warning, no error just silent death.
i used two instances of VS so registering in the first instance didn't affect the other.
hope this will help someone
p.s. in my resources dll, i created a .tt file that on every build will scan the resources and search for custom resources files to create a class with a variable that contains all the custom resources.
I use this variable to register my custom cultures + check in Application_Start if all the custom cultures are registered on the machine.