На момент выполнения alert'a, судя по данному коду, переменная =0. Читайте комментарии к коду ниже "с точки зрения браузера (того, кто выполняет код)":
//первый шаг: установили переменную в значение "0", все ясно.
var isKeyPressed=0;
//второй шаг: так, когда нажмут клавишу выполню эту функцию. Ок. А пока даже заглядывать туда не буду.
document.onkeydown = function (){
//четвертый шаг (в неизвестный момент времени после остальных): ага, клавишу нажали, присваиваем переменной значение "1".
isKeyPressed=1;
};
//третий шаг: так, чему там равна переменная? ага, "0". Значит не заходим сюда.
if (isKeyPressed)
alert("Привет!");
У вас же алерт вываливается не когда вы на клавишу нажимаете, а сразу при загрузке страницы. А переменная в 1 выставляется только после нажатия.