Thanks for the ideas Chad,
I tried the two approaches above and failed but I did learn a lot. The problem is that the shapefile is in map units and, although it has a projected coordinate system (PCS), MATLAB doesn't read the optional '.prj' file associated with the shapefile and doesn't build a projection structure for the shapefile data. So:
1. Using geoshow isn't possible because the units are mapping units.
2. "'UseGeoCoords', 'true'" doesn't convert mapping units to geographic units - it just tells the function that the data are already in geographic units when reading them in.
3. The projinv and related functions won't work unless the user manually defines a projection structure for the data that MATLAB will recognise. This is possible but a lot of work.
It should be possible to alter the GeoTIFF's PCS using projinv and projfwd because it is read in with a projection structure. But I don't really want to alter that. My solution at the moment is to alter the shapefile's PCS in ARCGIS and save as a new Feature Class using the Project Tool.
It irks me having to leave the MATLAB environment and use ARCGIS for this simple transformation but there it is. Hopefully a future version of the Mapping Toolbox will read in the '.prj' file info and convert to a projection structure for use with the toolboxes functions.
Thanks for helping me to elucidate the problem if not solve it.