If an invalid file is passed to jmeter using the -t switch, JMeter reports the error but fails to close the file as found out by trying to rename the invalid .JMX as a .JTL. If the invalid file is opened from the menu, rather than on the command-line, the file is closed OK.
It seems the file is also not closed even if there is no error detected - so this is a general problem with the -t file handling.
Fixed in SVN (branch rel-2-2)
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/1831