
As I've seen some bug reports on this issue and no solution I thought I'd post mine:
Running Vista in qemu/kvm is mostly no problem. Except for user mode networking. Apparently Vista decides that it doesn't like the qemu DHCP server and ignores the IP it is assigned. Of course user net doesn't work then.
The simple solution is to give Vista a fixed IP, but which IP should you actually give it? There's only one that makes everything work right, and that is 10.0.2.15. Found this out by looking through the qemu code. If you don't use this IP then -redir won't work. And that was a major issue for me.
Hope it helps somebody.