Merkle root with one transaction
I think you may be missing that when a node in the Merkle tree doesn't have a hashing partner it is concatenated with itself before hashing. To calculate the Merkle root of a transaction tree with a single transaction txid0, you would need to hash:
Merkle root = sha256d(txid0 + txid0)

I'm not sure about the endianess conversions.