Following up on my previous post, I’ve found the cause of the problem.
It turns out that screensavers are run in some kind of limited security context. One of the side effects of this is that the standard .NET settings subsystem - as supported by Visual Studio - is unable to load user settings. (I was able to verify this using Process Monitor to track the screensaver as it activated.)
One of the kind souls on the NZ .NET discussion mailing list pointed out that all the Microsoft supplied screensavers use the registry for their settings.
So, I got stuck in and converted across to using the Registry for settings storage and now everything works fine.
A big thanks to those on the NZ .NET mailing list who offered their thoughts and helped out. In no particular order: Peter Bamberger, Matthew Turner, Neal Blomfield, Conor Boyd, and Matthew Langmaid.