could you perhaps list what steps you use whem trying to get a handshake? You said you are using kismet which I rarely do, but I know that kismet doesnt have an alert feature when you get the handshake like airodump-ng does. You can still get a handshake in kismet but you need to find the handshake normally. I have also found that the quiality of your connection is one of the most important factors in capturing the handshake.
Try this, put yourself physically in the middle, between your client and router. open kismet and airodump and de-auth. Airodump will let you know if you got the 4-way and you can then check kismet to see what it looks like.
If it isnt working keep messing with your settings and repeat the experiment till you find one that does. Even if you do everything perfectly grabbing a 4-way will still fail on occasion, so dont give up after a try or two.
As for injection I dont think you need it to work for you to grab a 4-way, you could just put your card in monitor mode and get on your target client and manually connect over and over again.
Please explain further about what you are doing to WPA supplicant to make it work for you. I really dont think it should make any difference since it is only used for connecting to a WPA network once you have the password (but I could be wrong)
I just want to say thanks and that I found out something new, as it turns out the cheap trend net pci wireless adapter on my computer (client) sucked in the hanshake, i saw it off of wireshark but i could never catch it with airodump, but when i plugged in a belkin usb adapter and as soon as it connected I achieved the handshake...
I've been fighting this for a week and was really frustrated, i guess the hardware is what counts.
I'm looking abut buying the wusb54gc soon hopefully in a few hours, so I hope this problem is resolved...