まず訂正を。自分の書き込みを見てびっくりしたのですが、

>ディレクトリ直下のHelloWorld2.classを直接指定するのと
>CLASSPATHの下の\test\HelloWorld2.javaを指定するのとで

の2行目は\test\HelloWorld2.classのミスタイプです。

>>729
回答ありがとうございます。
.classファイルを探すのではなく、FQCNでクラスを探しに行くから
test.HelloWorld2は存在するけれどHelloWorld2なんていう物は
存在しないという事ですね。

>パッケージ名はclassファイル自体に埋め込まれるので、
>HelloWorld2.classをC:\Source\javaに移動しても、
>HelloWorld2のパッケージを移動したことにはならない。

これについてですが、試しにソースはいじらずに.javaファイルを
C:\Source\Javaへ移動し、Message→HelloWorld2の順にコンパイルしたところ、
Messageはコンパイルできたものの、HelloWorld2はパッケージotamesiが
見つけられずにコンパイルできませんでした。
また、普通にコンパイルしたHelloWorld2.classをC:\Source\Javaに移動して
java test.HelloWorld2 してみたら
Exception in thread "main" java.lang.NoClassDefFoundError: test/HelloWorld2
が出てしまいました。
「パッケージを移動したことにはならない」というのは
「単純にフォルダ移動してもパッケージ情報(?)は変わらないから
 パッケージと同名のフォルダに入れておかなければならない」
という意味でしょうか?