Problem has been solved by changing
Public Sub ResizeUserForm(frm As Object, Optional dResizeFactor As Double = 0#)
to
Public Sub ResizeUserForm(frm As Object, Optional dResizeFactor As Variant = 0#)
This is quite irritating as I can see no reason why the double type should have thrown the error, or why the error should have occurred in only in such specific circumstances.