Странно, все верно. Я сейчас проверил — все работает нормально. Попробуйте вручную получить и проверить, если выйдет — нужно снифать HTTP-запросы от самой программы.
Еще попробуйте использовать флаг use_ssl=0 при вызове messages.getLongPollServer, смог получить 404 ошибку только при несоответствии флага и использования SSL.
isset($_GET['status']) возвращает булевое значение — true если ?status существует.
В вашем условие получается, что вы сравниваете, равен ли TRUE и «on». Вообще, ни один типизированный язык не дал бы вам так сделать, но это пхп
функция isset проверяет, существует ли ?status (любой), $_GET['status'] == 'on' — сработает только если ?status=on, && — логическое AND (код после "{" будет выполнен при соблюдение того, что ?status существует и равен значению on)
Большое спасибо за помощь, плюсанул в карму.
Дал заказчику почитать этот вопрос, смог уговорить на .NET 4 Client Profile и стали использовать вариант, предложенный Illivion.