Subject Cursors and Transactions

I am using the kinterbasdb bindings for Python2.3 and attempting to
write unit tests for a set of database API's. Ideally, they should
create tables etc on setUp() and drop them at tearDown().

However, I have a couple of niggling issues.

1) When a database exception occurs, the offending cursor is closed
(and unable to execute further queries) even after rollback. Is this
related to the firebird backend or is it an issue with the
kinterbasdb implementation?

2) If I attempt to use a second cursor to drop a table after it has
been accessed previously by another cursor I get an exception
informing me that the object is in use. This happens even if I
'close' the first cursor.

These might be artifacts of kinterbasdb's implementation. I was
wondering if anyone might have any ideas.