Such an error almost always arises because the program tried to load some other thing (like a codec) but for some reason it failed. When it fails, the OS returns a value of zero. At this point, any self-respecting program will check to see if zero was returned. If so, it should not then go on to try to use the (non-existent) object, otherwise the program will crash.
You can try to find out what it was trying to create by looking in detail at the dump that Windows generates when an application crashes.