mmm, pues por lo que entendi, no creo que sea bronca de la base de datos, ya que graba un dato, y si puede grabar uno, pues el otro tambien (supongo), por que no checas si lo envias bien, ha y como psas las variables de un programa a otro?, los vuelves a leer de la base de datos? o los envias como variables globales?
si es por envio de variables alomejor ahi esta el problema, aunque si mencionas que son 4 programas, si son independientes esos datos los debes de cargar y leer de la base de datos, revisa bien los envios, alomejor ahi anda el problema.
cuenta como lo solucionaste :P