It's not a problem with the iPod itself, Windows can see it just fine. I can copy files to it with third party software just fine, and I can boot the iPod into diagnostic and disk modes. I just can't make it think it's an iPod anymore. It starts up to tell me that I need to restore it with iTunes, and iTunes recognizes that it's "in recovery mode".
The problem is not with Windows (Vista 64 bit), it worked previously just fine until the iPod/iTunes corrupted themselves trying to update a playlist. It's also not a problem with the USB cable or the USB port, as I can copy files onto it with third party software.
Running iPod diagnostics gives me a yellow light on ipodservice, and a red light on ipodhelper. I assume that the red light for ipodhelper is caused by the yellow light on ipodservice. The ipodservice.dll file seems to be buggy, and no amount of reinstalling seems to be correcting this.
I've tried using an earlier version of ipodupdater and manually launching the ipodservice.dll that ships with that, but that shuts off after a few seconds, most likely because it's not 64 bit code.
I have a very strong hunch that an earlier version of iTunes will fix this (the old version of ipodservice appears to be stable/correct from what I can put together), but I can't find a 64 bit version of it. Is there one that anybody can point me to?