もし作業中に、内部で正しくファイル名が扱われて無いかも!と疑うなら、
MsgBox f.AbsolutePath
を適宜、ソースに入れて確認してみてはどうだろうか。


また、こんなのはどうだろう。単に問題を先送りするだけだが。
1)まず、tmp.txt(半角Only)という名称のファイルですべての作業(新規作成とか上書きとか)を行う。
2)目的の作業がすべて終わったら、tmp.txtを、サンプル.txt(全角含む)にリネーム。(←プログラムででもいいし、最悪の場合は手動でも。)
3)終了。