Вернее, не совсем правильно сказал. Обработчик выполняется, URL нижнего фрейма изменяется (новые параметры передаются). Но он с какой-то стати оставляет старые данные, записанные сценарием с помощью document.write(), а новые - не пишет, хотя по идее сценарий должен бы исполниться ещё раз с новыми переменными.
Хотя... Я пожалуй этот код тоже попробу в onload поставить, может, грабли в этом