What I don't get is why you can't do something much more simple.
Wouldn't 99% of these problems be fixed by something as simple as a credit card companies just requiring transaction approval from the card holder?
It could be handled by text message or an app and show up as on your phone within 5 seconds of running your card.
Swipe, okay it on your phone, done, forget giving everyone new cards with some sort of complex PIN # system.
Heck, you could even go a step further and make a barcode on your smartphone scan as a credit card at checkout, and then hit okay on your phone to complete the transaction.
Get an alert for something you aren't buying? Hit deny, it doesn't go through. No fraud, everyone's happy.
I'm guessing the reason there's not a system like this is that most credit card terminals are too archaic and dumb to have a live link to the Internet to handle something like this in real time? (Or the more obvious reason of not being able to use it without a cell phone?)