Sometimes we need to help `Dynamics` to realize that they are out of date, `FinishDynamic[]` serves that purpose. This works well: If[ x === k, display = "Correct"; FinishDynamic[]; Pause[1]; display = rand ]