apparentemente il tuo codice è corretto ma...
> per come hai sviluppato i tre test su "main", "pulsantiera" e "suono"
> e per il fatto che usi sempre le stesse variabili car e tot
potrebbe verificarsi che, appena il "main" è stato caricato, e quindi viene impartito il loadMovie della "pulsantiera"
i dati level6.getBytesLoaded(); e = _level6.getBytesTotal(); NON siano ancora diponibili

Cosa potrebbe succedere in questo caso?
che nel campo tot e nel campo car ci siano ancora i valori precedenti, che ovviamente sono uguali per cui il test viene saltato a piè pari.

Un soluzione veloce potrebbe essere quella semplice di invertire l'ordine dei 3 test:
1) prima test su "suono"
2) poi test su "pulsantiera"
3) infine il test su "main"

Mi raccomando, si tratta solo di ordine di scrittura, non cambiare null'altro.