OK. It seems that I am well rested, so let's see why you're an idiot:
1) NAT doesn't work. It only works properly for trackable connections (TCP/IP for example). Otherwise NAT requires hacks such as NAT-PMP and UPnP. Can you please explain to me why do we need the intervention of a complex protocol (like UPnP) just to get layer 3 working properly? Understanding NAT traversal and implementing it properly is more difficult than just understanding and implementing IPv6.
2) NAT is used as a security feature only by idiots (thus, my assumption that you're an idiot). Sane router defaults and enabling the firewall that comes with your operating system might do a better job. Even blondes have heard of a firewall. Not doing that is as inexcusable as not locking your car and then complaining that it got stolen/vandalised. In order to do some things (such as using a computer), you need to accept that you need to learn shit (such as enabling a firewall).
3) Getting IPv4 and IPv6 to play nice is not a problem. Getting both of them at the same time might duplicate some of the work, but that's what you get when you migrate from something old to something new. Some things still need to be done twice. However, since they are independent protocols (none assumes or requires the other one), you don't have to get them to "play nice" and you don't "default" to one or the other. Google "CCNA Semester 1" if you're missing the basics about IPv4 and IPv6 and the layered OSI model.
4) You make the ASSumption that if you have both protocols, somehow, all requests will first go through IPv6 and then, after timing-out will attempt IPv4. That ASSumes a few things that need to go wrong and usually don't.:
4a) the requested resource advertises both protocols (most only advertise IPv4)
4b) the application defaults to IPv6. Applications don't default! Applications do as they (or the OS in this case) are configured.
4c) your system is imagining that it's connected to both an IPv4 and an IPv6 network that can route to the requested resource when if fact it's only connected to an IPv4 network that can route to the resource. If your network doesn't provide IPv6, even if your system supports it, the applications will NOT use IPv6, let alone time-out. Same with IPv4. If your network only provides IPv6, your applications will not attempt to connect via IPv4. Actually, some applications will, but will instantly get a "no route to host" on the missconfigured protocol and only then will attempt to use the other protocol. But even in this scenario, you don't have a time-out, you get an instant exception.
5) Making IPv6 somewhat backwards compatible with IPv4 would make it IPv4.
6) Not having experience at something should be an incentive for us to get better at it, not a reason to stick with IPv4. We've already had almost 15 years to learn what IPv6 is all about, but some 'experienced' fucks are too damned lazy to give IPv6 6-12 hours of their life.
7) It's about time we move on and get rid of all the crap around IPv4 (such as: IPSEC not mandatory in all implementations, DHCP/BOOTp, ARP, RARP, 32-bit addressing, not-auto-configuring)
BTW, everybody should pray that we still use horses for transport as much as possible, because investing in tarmac is so expensive and time-consuming. God only knows what happens when the switch is flipped and we move to cars.
Thank God you're out of corp IT because you're definitely not able to adapt to the natural evolution of things.