1) No.
2) "If not, what if you are using MySQL (no ROLLBACK) and you insert a record into one table, but the second insert fails?"
Then you're F*cked, you'll have to manually remove the first record again.
This is what makes MySQL such crap, all database consistency checking has to be done at application level.
3) "Would it be better in this situation to join the tables by a unique number determined by myself"
It is not possible for you to generate a random unique number unless you can verify that number against the database, which you can only do if you do an exclusive lock on the table that you are inserting the value into. An exclusive locks are not acceptable. just use auto-increment.
A forum, a FAQ, what else do you need?