On February 28, I went to an MTA machine to add money to my metrocard. After adding $20, the machine would not return the card but instead said that an error had taken place and that I needed to see an agent.
I went to the agent who gave me a form to fill out. The form stated that it would take 15 business days from the date the form was received to issue a replacement card. I called Amex and, sure enough, the $20 transaction was indeed completed. I told them what happened and they started a procedure to reimburse the $20. That happened in about 2 weeks.
But no card arrived after 20 business days (I assumed 5 business days travel time within the city). I had called at the end of March but was told that there was a month's worth of backlog. That many machines were malfunctioning???
I called at the end of April and they had no record of my submitting the form. I read to them the form id # but that was useless. Thus I had given up.
Then, yesterday, the replacement metrocard arrived with a letter from the Director of Metrocard Customer Claims. What amazed me was that after all of that time, they were able to give me the exact amount on the card when it was eaten by the machine. I'm amazed they could actually get to that card given the ridiculous delay. I didn't have the card # information. Just the date, time, location and machine number of the malfunctioning machine. The letter also confirmed the Amex credit.
So, with patience and acceptance that the MTA isn't accountable whatsoever to any time expectations it sets, you will in fact get another card with the same money on it as the one the machine ate.