既に知っている方も多いと思うが、仕事で引っかかったので。
FileクラスのrenameToメソッドはどんな場合でも使えるという訳ではなく、ファイルシステムを超えて使おうとしたときにどうなるかはOS依存らしい。
File (Java 2 Platform SE v1.4.2)
Whether or not this method can move a file from one filesystem to another is platform-dependent. The return value should always be checked to make sure that the rename operation was successful.
なのでファイルの移動したいときには、例えばきちんとFileInputStreamで読んでFileOutputStreamで書くなどの対処が正攻法のようだ。