I have also never worked with the TSAPI SDK, but based on what you have written, I do have a couple of ideas. Most CTI implementations determine the difference between a human answering the telephone, and machine answering the telephone by the length of the salutation.
A person will usually say "Hello!" or "Bob Smith" or something very short like this. Voice mail and Answering Machines ususally have an OGM that says "You have reached Alice's line, but I'm out right now." The systems typically look for broadband noise (voice not tones) and measure the duration prior to the first pause (silence) of about 1 second. Dialogic cards use a salutation length of 1.7 seconds as the descriminator. If the message is less than 1.7 seconds, it is a human, if it greater than 1.7 it is a machine. Simple!
If you are in a high noise environment when you are answering your cell phone, it is entirely possible that the noise floor never drops low enough to be considered "silence," so your initial salutation is too long, and therefore identified as an Answering Machine.
Also, these applications will frequently look for a ring cadence prior to a call being answered. Sometimes a single ring back is enough to establish a cadence, other times, two ring backs are needed. If you answer the telephone on the first ring, the system may not have established the ring cadence yet, and isn't expecting an answer. When you answer and it doesn't get that second ring back, then it determines that the call was not processed properly (after all, it never detected proper ringing) and it marks the call as a no answer (or maybe it is actually another error code that they have shortened to no answer for expediency).
Hope this helps!
pansophic