The synchronous method is deprecated and most likely will be dropped soon. So use the other one. The suggested API for checking transaction status is transaction_status_api.find_transaction
. You can find it in the devportal. developers.hive.io
Yes, when the transaction is included in a irreversible block, there is no way for that to reverse or fail.
AFAIK for ref_block_num
it doesn't matter. It can be any recent block.