То есть, form.submit происходит, а событие onsubmit не перехватывается.
Правильно. И не будет перехватываться. Потому что оно вообще НЕ ВОЗНИКАЕТ.
Microsoft (MSDN site) claims that the submit method of a form
does not invoke the onsubmit event handler.
http://www.w3.org/2001/12/DOM-Level-2-issues#i6
Другими словами, перед тем как делать form.submit() необходимо заранее сделать все необходимые проверки и прописать все переменные формы.
Я так понял, что главная проблема на сайте
http://ptzplace.lockerzclub.info/april/black.php - это то, что при нажатии на клавишу Enter форма отправляет данные БЕЗ Ваших проверок.
Лично я отключаю это таким способом:
form.onsubmit = function() {return false} // антиэнтэр
и обычно делаю отправку формы по Ctrl-Enter, о особенно, если на форме присутствует textarea, в котором Enter не срабатывает (как для отправки формы) .