ファイル名には Unicode が使えます。
が、ANSI コードページに存在しない文字を使っていると、VB からは扱えません。
上の画像のようなフォルダを、Dir 関数で列挙してみましょう。
Sub Main()
Dim v As Variant
v = Dir("C:\Unicode\*.*")
Do Until Len(v) = 0
Debug.Print v
v = Dir
Loop
End Sub
イミディエイトウィンドウには、以下のように表示されたはずです。
R
R
? <------- 化けてます
基本的に、VBでは、JIS ,シフトJIS しか扱えません。
テキストボックスなどのコントロールにはシフトJISに変換できない文字は入力できません。ですので、いままで問題は起きなかったのでしょう。
しかし、.NET では、Unicode 文字列を正式にサポートしています。
いままで ANSI版の API を使っていたコードは見直しが必要です。