This is something that we first noticed in the stream plugin and first raised as: http://developer.atlassian.com/jira/browse/STRM-156
After doing some investigation it turns out that it's more of a problem with JAC returning the filename from the database for an attachment containing funny characters somewhat wrong. http://jira.atlassian.com/browse/TST-14324 has an attachment with the name '/nick/skitch/Terminal_—java—_244x71-20080516-130901.skitch.jpg'. For some reason the long dashes seem to get garbled when that filename is read from the database, and the file can't be found on disk.
I couldn't re-produce this problem on my local instance running the latest 3.13 branch. It could be database related. JAC's running postgres 8.1.11, whereas I was running 8.2.3.