先日同じ問題で完全にはまってしまったので少し。
DirectXの仕様とはいえ、
Dxライブラリ使用者はDirectXどころか
C言語自体も覚えたて、という方が多いと思います。
そういった方々(私もだったわけですが^^;)にとっては、
double型で保証されているはずの精度が維持できないというのは、
理解に苦しむ現象ではないかな〜と思います。
あまり使用頻度の高い関数とはいえないかもしれませんが、
リファレンスなりミニテクニックなりの端にでも、
載せた方が良い関数じゃないかな?と思ったので、
ご報告させていただきます。
***powderさんの返信を見て追記***
私の場合は、扱うデータ自体を桁数の関係からdouble型で保存していました。
Dxライブラリの関数への引数や戻り値として・・・ならともかく、
なぜデータが破損する(ように見える)のか理解できず、
3日ばかりデータを扱うクラスや関数と睨めっこすることになってしまいましたw