Not in front of Maya at the moment, but if you're having trouble doing this via maya.cmds or OpenMaya you could instead use an intermediate node to store your matrix. Any node with a matrix attribute would do, such as addMatrix or decomposeMatrix.
To store it, simply connect it to the intermediate node and read its value (this is important, otherwise Maya may not take the time to actually write any values). Then you can disconnect.
To read it back, simply connect your intermediate node to the target (and make sure it reads. either by being visible in the viewport, or via the cmds.getAttr() command), then you can disconnect and remove the old node.
That way, you could potentially store your history of transfers with the scene itself, without any extra hassle.