The issue is hardware and software incompatibility combined with buggy Garmin integration solutions.
I have just sent five bespoke routes from MyRoute on my iPhone, via Garmin Drive on my iPhone into my XT, using version 1.2.
The iPhone and XT found each other all but instantly. The five routes and their tracks transferred seamlessly. The shape of the routes are correct, the mileages correct (give or take a little bit of rounding up) and the times near enough correct, too.
The viapoints (hands when displayed in MyRoute, orange flags on my XT) transferred across, too. The only thing that does not display on the XT are the little blue dots of the shaping points, but that is the fault of version 1.2 transfer.
I have a second XT, which is currently updating its maps and software. When it’s done its thing, I’ll transfer to it the same five routes but in version 1.1, to see how that goes, too.
I appreciate that’s not much help to you but, at least we know it should work. I’d suggest:
Making sure the software / firmware on your IPhone and XT are both fully up to date.
Delete the Bluetooth connection (forget this device) on your iPhone and XT.
Delete MyRoute from your phone and reinstall it. As it’s cloud based you’ll not lose anything.
Delete Garmin Drive on your iPhone and reinstall it.
Sign into them all again.
Reconnect the iPhone to the XT and try again.
One thing I do do, is set my XT to permanently on, when doing any transfers or Bluetooth reconnections. There is nothing more annoying than it (or the phone) timing out and going to sleep.
Good luck.