You are a saint!
So it looks like hv_store_ent does not increment the reference count of the key SV* so I'm assuming it copies it at some level. Does anyone know of a channel I can use to suggest a clarification of this in the perlguts manpage? Thanks for the help.
Patch your local copy of the documentation and then send
the patch (diff -u please, if you do not have a version
of diff that does this you can get it here)
email to perl5-porters@perl.org.