This doesn't have to be so hard.
As far as I know, all any real application needs here is a stub. The stub has to claim success, but the values it gives do not have to be meaningful. If a real implementation were trivial, I would go ahead and write one anyway. It isn't so I won't.
I'm not going to find some magical "success, but there isn't a taskbar" value I can return by testing old operating systems and shell replacements. The API is defined by developer expectations, when they happen to be matched by what Windows does. Developers expect, and get, a system that always has a taskbar.
If a real application actually needs to know where the taskbar is, I'll take another look at this. Until then, I say we return something plausible and wrong, as that keeps programs happy.
Vincent Povirk