They had enough time. This is not a new thing. Some ISPs were more proactive, some were not. Those invested man hours and hopefully they will reap the benefits while their competitors struggle.
Same with OS and software support.
In the end some will profit from this (even the lazy ones -- "quick, pay us for a new version that enables IPv6 support) and some will lose (they'll find competitors did a better job at IPv6 support).
Dual-stack, proxies, and (if absolutely necessary) actual tunnels can compensate for critical IPv4 apps. You can layer whatever you need to on top of IPv6.
Non-critical applications where people aren't willing to jump through any hoops... Well, it's not exactly news that sometimes old apps get left behind in technology transitions.
Of course it does, but not necessarily a publicly-routable one. Dual-stack is necessary because otherwise the IPv4 application literally won't run at all. How the packets actually traverse the public internet is a different matter addressed by things like NAT, proxies, or tunnels.
Same with OS and software support.
In the end some will profit from this (even the lazy ones -- "quick, pay us for a new version that enables IPv6 support) and some will lose (they'll find competitors did a better job at IPv6 support).