Lewis John McGibbney, if I understood you correct (English isn't my strong point), you asked is this case general or specific for for some input. My point is that this issue has general cause which can be reproduced only in non-trivial classloading scheme. Little analysis below.
Rome 1.0 use Thread.currentThread().getContextClassLoader() for loading both com/sun/syndication/rome.properties (default rome config) and rome.properties (user config). If classloader, used to load rome, is current thread's context classloader (CCL) or its ancestor classloader this works fine.
Earlier rome (0.9) used same classloader as used when loading rome's PluginManager class (which invokes PropertiesLoader). This method finds default rome config in since they are loaded from same jar. But if user code is loaded by other classloader (e. g. for security reason) in different classloading branch it rome can't find user config. I don't know hadoop classloading scheme (and nutch use hadoop) but such case can be simply reproduced in servlet container if rome is loaded by ext/common classloader and app – by webapp classloader.
I think, this was a reason to use CCL, but it lead to new problem. If is set to system and rome is loaded by descandant classloader (PluginClassLoader in this case) rome can't load its default config and ends with NPE as above.
I'll try to create test for this case soon.