Well... I fixed it. Sort of. It works for me, but assumes that the files end with a ".gtd" suffix.
I changed the TextMate.file_link() function to the following:
def TextMate.file_link (file, line = 0) return "txmt://open/?url=file://" + $myPath + "/" + file.gsub(/[^a-zA-Z0-9.-/]/) { |m| sprintf("%%%02X", m[0]) } + ".gtd&line=" + line.to_s end