if somehow the reference to the Object is lost, can you "force" re-create the object again:
Public Function RegKeyRead$(ByVal RegKey$)
' Reads registry key RegKey, if key doesn't exist, return value is ""
On Error Resume Next
' re-create the gbl_SH again before
' calling any of its Method
'
'...