At last I solved the problem!
In my situation the problem was caused by a timeout too short. I try to explain...
My application send the ATD command then waits for the OK response.
If the response doesn't come before the timeout, then the application try to close the call... but if you send any character through the serial BEFORE the OK, the module aborts the call and answer "NO CARRIER".
This behaviour is quite funny, but it can be easily replicated (even manually with Hyperterminal or similar).
Someone from Telit confirmed me that is not allowed to send more characters/commands during call setup (maybe I missed it, but this rule is not present in manuals