レスを下さった方々、ありがとうございます。一応自己解決しました。
スレ違いは分かっていたのですが、244が紹介してくださったようなスレは
知らなかったし、一応プログラム自体はDirectXのものなので(まあ言い訳に
過ぎませんが)良識的な人の多い、このスレで質問させていただきました。
ご迷惑でしたら、ごめんなさい。

 で、結果なのですが

#defineALIGNE_SIZE16
#define ALIGNED__declspec(align(ALIGNE_SIZE))
ALIGNED D3DXVECTOR4配列

この配列のアドレスの下一桁が0になっていないのが原因でした。2000だと
0なんですけど、やり方が間違ってるのか、98seだと下一桁が0じゃないものが
出来てしまいました。

しょうがないので
movaps //アラインメントが必要菜mov

movups //アラインメントが不要なmov
に置換することで解決となりました。パフォーマンスは少し落ちたのかも
しれませんが、計測できるほどではないようなので。
 もし、正しいアラインメントのやり方をご存知の方がいらしたら、
アドバイスしてくださると助かります。それともスレ違いの話題なので、
244さんの紹介してくださったスレに行った方が良いでしょうか。