Как запретить отправку формы, если цикл вернул false?
Я лично не совсем понял как у вас отрабатывает представленный пример. Есть два способа повесить хендлер на событие.
Первый, проприетарный : jQuery('form').on('submit',function(e){
     e.preventDefault(); //Отменили нативное действие
     (e.cancelBubble) ? e.cancelBubble : e.stopPropagation; //Погасили всплытие
}
И второй, через алиас:jQuery('form').submit(function(){
return false; //Отменили нативное действие
});
А у вас что-то среднее получилось.
Кроме того почему не сделать так:jQuery('form').on('submit',function(e){
    var flag = true, 
        inputs = jQuery('input:not([type="submit"])',this); // Вторым аргументом указываем где искать
    inputs.each(function(){
        if(jQuery(this).val() == ''){
            flag = false;
        }
    });
    if(flag){
          /* Ajax запрос */
        alert('Запрос!');
     } else {
        alert('Заполни меня!!!');
     }
     e.preventDefault(); //Отменили нативное действие
     (e.cancelBubble) ? e.cancelBubble : e.stopPropagation; //Погасили всплытие
});Рабочий пример
var $form = $(this),flag =0;
    $form.find('input:not([type="submit"])').each(function() {
        if (this.value == '') {
            this.focus();
	    alert('Заполните все поля');
	    flag = 1;
             return false;
        }
    });
if(flag)
return false;