You have the right idea, in general. When working with Transfer Orders, you need to Fulfill it before you can Receive it. That's why you get the Invalid Reference error on creation of the Receipt.
As for the Fulfillment, you said you're not seeing the items on the TO as Fulfilled. Does your account have Pick-Pack-Shipped statuses for Fulfillments? I think in your transform for the Fulfillment you just need to set the Status to Shipped. Then do the lines, as you are, and save. See if that helps.