I don't think this can be done, the workflow actions are decoupled from the workflow rule (they can be reused as well) so they apparently don't receive the transaction scope and when they execute the record is already gone and any reference inside action would point to a non-existing data. Thus, the only way I know how to do it is via a trigger.