There is no way to retrieve the deleted transaction information once the item is is republished or the transaction is removed explicitly as far as I know.
A way to avoid this issue is to capture the information while the transaction is being processed for publishing. The package which is generated after rendering contains the xml (pages.xml for pages or component_presentations.xml for DCPs) files which contains the details for publish transaction tcm id, the asset (page/DCP) getting published, its tcm id and the version of the item being published. You can capture it and store it (in custom db). And you can write a GUI extension to present the publish information for any selected item by taking in the tcm id as an input for the GUI and fetching the details from your custom captured information which will give full details of who published, when it was published and what version of the item was published.
We have implemented the same and it is really useful since Tridion OOTB does not keeps publish transaction details and overrides as soon as the same item is republished and it does not captures version of the item getting published.