Can transaction id be used to verify a transaction?
Indeed malleability means that the tx_id can change as long as the transaction is not in the blockchain yet. That means you can NOT rely on the tx_id. But:


Once the transaction is in a block that is part of the blockchain, the tx_id does uniquely identify it and can be reliably used forever in the future to refer to it.
Basically all other coins ever forked from Bitcoin have the same (and many more) problems.
In Bitcoin it's already fixed by SegWit. The tx_id for SegWit transactions can not be malleated anymore (except by the person who has the private keys).