Это уже вторая проверка, на то, что данные есть и они правильные.
Я, например, сначала смотрю на код, если это 500, значит ошибка, пытаюсь вытащить данные об ошибке оттуда в определенном формате. Если 200, значит все оки-доки, пытаюсь вытщить ответ (в общем случае, я уже знаю, что все прошло, но мне нужны «подробности»)
Ну, проверять надо и то и другое, в принципе, как уже упомянули выше, но дело то немного в другом. Фреймворк то, IMHO, подглючивает. Callback в onSuccess при лежачем сервере не есть гуд. Именно эту особенность prototype программист и пытался донести...:)
таймаут в prototype есть, но возврат response может произойти до наступленя оного (например, ввиду connection refused), и попадет в onSuccess с пустым responseText и нулевым status code.
Prototype & Ajax.Request: важный момент при отлове проблем на сервере