It seems that save methods call _run_save_callbacks within the transaction, and the data may not have been written to the database by the time that a job is spawned and ran within another instance (such as resque).
You would expect that after_save callbacks would be fired after the the transaction has been completed.