OK, so I can get around this problem by getting Skim to run a python script, which I've named open_in_mate.py:

#!/usr/bin/env python

import urllib
import os
import sys

commandString = "open \"txmt://open?url=file://%s&line=%s\"" % (urllib.quote(sys.argv[1]), sys.argv[2])


But when I swap back to using the mate command the inconsistency is still there, i.e.:

1) open_in_mate.py %file %line is set as Skim's command to fire when you Cmd+Shift+Click on somewhere
2) Test it, works fine - jumps to TM with the file open in the correct window
3) Swap Skim settings to use /usr/local/bin/mate -l %line "%file"
4) Test it, jumps to TM but the file is open in a different window

This appears to be a very peculiar bug with the mate terminal command - any comments Allan?