Keep a running copy of the application in the BDE in order to compare. Something that may seem slow in IBO could be even slower in the BDE. This is a sure way to keep a basis of comparison so that your perceptions don't have opportunity to wander. If IBO is faster then this is where the proof will be. I am confident that it will be. I'd like that to be proven rather than assumed.
Become familiar with how IBO traces the API calls. It is simple to include SQL tracing in IBO using the IB_MonitorDialog component. Drop it on the main form or datamodule and then setup a FormCreate event handler and call the Show method of the monitor dialog component.
This will bring up a form containing a detailed log of what all is being processed through the API.
By examining the results it is possible to see how long certain calls are taking to process. The exact SQL that is being sent to the server and all of the parameter and field values can be examined. IBO also includes the SECONDS to the thousandth of a second accuracy of how long a statement took to execute on the server. It also automatically includes the statement plans whenever a statement is prepared. If a DML statement is executed it will also include the RowsAffected information.
This tool can become a very critical element to making sure that the server is being dealt with in the most optimal fashion. Also, if you are having troubles getting something to work just right you can get some very helpful clues about what is going wrong by looking at the SQL that is being sent to the server along with the parameter values.
If you are having troubles and make a support request of me then I will very likely ask you to provide a copy of the trace log showing the problematic portion.