Já tentou usar BEGIN TRANSACTION e END TRANSACTION ? Caso vc. encerre a aplicação sem efetuar um END TRANSACTION talvez o ORACLE faça um ROLLBACK. Não conheço muito do ORACLE mas vale a pena tentar. Outra opção é verificar se no ODBC ORACLE existe opção para selecionar COMMIT automático ou não. No DB2 UDB V 7.0 com WINSQL existe esta opção.