Create dynamic external link URL without filtering or stripping protocol
I realised it's not Drupal changing the URL but GMail that doesn't like the protocol.

So I created a simple PHP redirect script and link from my Drupal module to that instead e.g.

&lt;?php

header("Location: FMP://192.168.123.123/DatabaseName.fmp12?" . $_SERVER['QUERY_STRING']);
exit;

?&gt;