VC++でクリーンビルドが初めて必要になった

ソースファイルX、YがあってXをビルドしない設定にしていて、ソースファイルの内容を変更せずにXをビルドしてYをビルドしない設定にしたら再コンパイルされなかった。これって自動判定して再ビルドされるべきだと思うんだけど、そうならないことに何か意味があるのだろうか?