devi vedere se quando fai un nuovo inserimento viene anche creato un nuovo record nella tabellaB (ma da come dici sembra di no).
Prova a fare così:

Codice PHP:
$record mysql_query("SELECT * FROM tabellaA WHERE id=$id");
$row mysql_fetch_assoc($record);
$backup mysql_query("SELECT * FROM tabellaB WHERE id=$id");
if(
mysql_num_rows($backup)>0){
   
$row_bk mysql_fetch_assoc($backup);
}else{
   
$row_bk $row;
}

// il resto è uguale 
PS: Ovviamente, visto che non è il nocciolo del problema, tutte le fasi di controllo/sicurezza non le ho messe. Inoltre sarebbe opportuno passare a mysqli o meglio pdo