Non e` che mi piaccia molto.

Il funzionamento dipende dalle velocita` relative del JS e dell'HTML.

Supponi che il disabled scatti prima che il JS ritorni true: la pagina non partira`.
E su questo non puoi fare dei test, perche` le combinazioni di browser e hardware sono quasi infinite.

Piuttosto:

All'inizio metti una variabile JS:
var form_abil = true;

Poi ogni volta che faresti un return true:

if(form_abil) {form_abil=false; return true;}
else {return false;}

Ciao
Michele