I'm afraid I have no idea what you mean about cn.Errors.

One thing tho, why are you using "EMPTY_BLOB()" in your SQL, rather than "Null"?

Also, why does the transaction only cover the Insert Into, as opposed to the entire routine? (transactions are designed to encompass a whole process, and are irrelevant for a single statement).