Not sure about this one.
As far as I see, you could try registering it as a value type and use handles when needed? (But not as a POD, because it's not.)
You can take a handle with "@", so:
object obj; object@ obj_h = @obj;
Failed in call to function 'RegisterObjectType' with 'Sprite' (Code: -5)
-5 means that it has invalid arguments asINVALID_ARG = -5, it must be that you can't register like that
But I'm no way a guru in this thing, so don't follow my thoughts directly.