Fix the spec there is no reason it shouldn't be possible to have a package with an ipv4 destination and an ipv6 source (all oses knows about ipv6) except that those who wrote the specs forgot the iron law of software - nothing, no matter how good it is - succeed without being backwards compatible. That's why c++ and Java are a success, but Lisp isn't.
There is one problem. The IPv6-enabled equipment that provides Internet access to the IPv6 sender knows how to route an IPv4 address, but the IPv4 equipment at the recipient's ISP might not know how to route back to the IPv6 source.