This happens to me from time-to-time, and its always been a platform OS that is the key deciding factor of why some code works, and others doesnt. However what has always worked was relative references instead of absolute references.
My suggestion would be if cjava's solution doesnt work, is to find out what JasperReports is doing on Disk. Depending on your platform, *nix, Windows, You may need to figure out what system calls JasperReports is running to find the path it is using. In my application I found that even though I was specifying a path-less reference that worked before, some platforms would path search differently and fail to find the report.
Some other questions on how to troubleshoot System calls:
*nix - Strace
strace java applet
Windows - Process Monitor
On Windows, how can I find what files a given process is using? Is there software that does this?
Mac - DTruss
ltrace equivalent for osx?