Transaction can be started automatically if you lock a record in dataset (for example, when you edit a record, and the LockMode property of TOraQuery is set to lmLockImmediate). Check that no records are locked when you call the StartTransaction method.