pushd .
color 00 & echo %errorlevel%
pushd .
(color 00) & echo %errorlevel%

てしてみ?両方0になるから
2回目の1は1回目のエラーが表示されてる
%変数%の展開のタイミングは構文の評価時なのでそうなる