Still i don't call this method 100% reliable.
Of course it's completely reliable. Do you actually have an actual documented instance where an insert followed immediately by mysql_insert_id() gave you a different value? Sure, MySQL has lots of limitations, but this is not one of them.