A 64 bit EXE can't call 32 bit assemblies.
See here: 64 bit app calling 32 bit dll?
] for suggestions.
And as far as the registry goes, access is restricted in the same way to both 64 and 32 bit assemblies - and is likely to be more strict rather than less. Unless you need to change registry settings for a different application, you would be better off ignore it completely, and using your own local storage instead. If nothing else, local storage won't require process elevation!