So, I have no idea why this just started happening, or how the code is even getting here. My plugin (BTVSmartie.dll) has been doing fine returning zero-length strings for quite some time, up till now.
So, after pulling my hair out trying to figure out how I screwed up my plugin, I've discovered that a blank REG_SZ entry in the registry is apparently not the same as a zero-length string, even though they display the same in the debugger...
Just an FYI for anyone who may come across this thread in a search. =)