in reply to hash values missing

require ${modulename};
What's wrong with require $modulename; ?

#build the hash in an autoloaded module using a reference: &{${modulename}.'::$modulename'}($param1,\%myhash,\%hash2);

Is that *REALLY* what's in your code? Are you *SURE* you're not getting errors doing that? Are you sure there is a subroutine literally named "$modulename" (note the $ at the start of the name) in the package named by $modulename ? Are you sure you understand what that code does? In any case, we'd probably need to see the code of that subroutine to help you out.

#in $usermodule, keys to the hash exist: @mykeys = keys %$hashref; # is non-empty array
That doesn't prove the keys you're looking for are there. Check that with exists.