There's this weird thing on Windows where it won't let you programatically log in as another user more than once (at least, it won't let you CreateEnvironmentBlock if there's already a process running as that user, spawned with CreateProcessWithLogonW).
Maybe there's a solution to that (like, have elevate be a daemon?), but if not, that error condition should be detected since it's (relatively) well-understood now