Windows XPのビジュアルスタイル対応の際には、uxtheme.dllを動的にロードして他のプラットフォームでも対応できるようにするという方法がMSの資料にも書かれています。しかし、テーマが変更されると送られてくるWM_THEMECHANGEDは、winuser.hの中で_WIN32_WINNTが0x0501以上の時だけ定義されるようになっています。しかし、_WIN32_WNTを0x0501にしてしまったらWindows 2000などでは動かない(可能性のある)バイナリができてしまうわけで、わざわざuxtheme.dllを動的にロードしている意味がないですね。
おそらく機械的にやったのでそんなことになってしまったのだとは思いますが、もうちょっと考えて欲しいものです。ここにあるサンプルの中でもWM_THEMECHANGEDのところはコメントアウトされているように、サンプルを書いた人は気づいていたのではないかと思えますし*1。
*1 単に_WIN32_WINNTを自前で定義せずにコンパイルしてコンパイルできなかったのでコメントアウトしておいたらそのまま出て行っちゃったという可能性も捨て切れませんが^^;