Hola, primero revisa si el autocomit este en falso en tu conexion, tambien revisa que el parametro del objeto conexion tenga lo siguiente, no olvides poner commit, despues de cada transaccion.
SQLCA.AutoCommit = false
SQLCA.DBParm = "StaticBind=1"
Espero te sirva., tambien es bueno poner commit en el evento retrieveend de tus dw.
si usas sql server es bueno que en tus instruccion de consulta SELECT * ... despues de escribir el nombre de la tabla en el FROM coloques la instruccion WITH (NOLOCK)
Espero te sirva.