Subject firebird and transaction behaviour questions

I am using Firebird 2.5.5 with Access 2010 and the odbc driver on windows 7 prof sp1.
A friend of mine said that everything in firebird MUST be done inside a transaction.
Is this the case if you are doing reads only?
Is this the case if you are only inserting, updating or deleting ONE record at a time?
I can understand if you are writing changes effecting multiple records.
Do you have to do transactions while doing DDL changes?
It's easy to do transactions with code in access but the bound forms and reports it is substantially more difficult.