The interface has to be declare the udt explicitly as ByRef
Code:
Implements IMyInterface
Private type MyUDT
   a as Long
   b as variant
End Type
Private Property Let stuff(ByRef myVar as MyUdt)
End Property
As I remember, UDT's, like Strings are reffed ByVal by default.