OK, so in your outbound flow, you can include logic that plays, or doesn't play, a message to answering machines and then disconnects. (Doing what you propose - turning off AMD - will result in machines being routed to agents.)
It isn't clear from your post whether you want to leave three messages and then stop, or stop after any three attempts. If the former, I would add a column in your contact list that has a value pre-set to zero on import. Then, when you get an machine, increment this value and use it within the test to determine whether or not to play the message.
All the logic can be kept inside the Outbound Flow and this would keep everything within the same campaign / contact list.
HTH
------------------------------
Paul Simpson
Eventus Solutions Group
------------------------------