Actually, Vista is pretty close to Windows 7 and 8, at least according to Microsoft's documentation. However, I've seen a number of people mention certain bugs, which apparently Microsoft never bothered to port the fixes back to Vista.
At this very early stage, I haven't made any specific plans, so I just can't answer questions about what exactly may or may not work in the distant future if XP support is dropped. Obviously I'm not going to change stuff that already works. So long-term, the situation might be similar to what we have today with Windows 2000. Teensy apparently works pretty well on 2000, except for the Serial+Keyboard+Mouse+Joystick option which depends on USB Interface Association Descriptors, which Microsoft started supporting in XP SP3 and Vista SP1 (eg, they don't even work on XP SP2 or the original Vista).
One of the many new features I'm contemplating might use Winusb.sys (and Apple's IOkit and libusb 1.0 on Linux) . Apparently there is some way to add WinUSB to XP using coinstallers. Vista, 7 and 8 have it built in.
Another change I'm considering, for the more distant future, might be Teensy Loader 2.0 with a redesigned interface to give you much better visibility into what's actually happening with USB on your computer. It would also support using more than 1 Teensy at a time, which today is possible only with kludgey tricks like using Verify in the desired Arduino window and then manually pressing the button on the desired Teensy.
A feature I've avoided using on Window is threads. Part of the reason involves old limitations in the MinGW libraries that required distribution a separate DLL. I like to make my Windows programs as a single self-contained .exe file that doesn't need any special DLLs or other files. But another issue with threads is missing functionality in the WIN32 API before Vista. Here's a good example:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363792(v=vs.85).aspx
Before the availability of CancelIoEx, if you structure your program with threads that do the I/O operations, if you also want to use asynchronous I/O (which Microsoft called "overlapped"), you can't easily have your main thread change the state within the I/O threads that might be stuck on I/O, so you end up having to build complex stuff with signaling by events. If you don't need to work with anything before Vista, you can use CancelIoEx to easily and cleanly solve certain types of situations.
So at this point, I don't want to alarm anyone still depending on XP. Things that work today aren't going to suddenly stop working. But at the same time, I'm sure anyone using XP is pretty aware it's aging and support is slowly evaporating from many software vendors. Long term, I'm probably going to add features that use things like WinUSB that are possible but a pain on XP, and even longer term, if I redesign for a multithreaded approach, anyone still on XP might be stuck having to use the 1.X version.