The ASAP program does not protect the pilot in all cases. If the airline learns of the incident or error from independent sources they have the right to start a punitive response. If the error involved willful disregard of rules or procedures, or negligence, there is no bar to the airline firing the pilot. Only genuine mistakes are meant to be covered. Some believe that it is a "get out of jail free" program and that is not what it is.
However it is a great tool and definitely improves safety.
I run a safety program and the majority of what I do does not cost the company a penny. It is a change in attitude more than throwing money at a problem. I don't have ASAP but I apply the principles of it and so far the reporting system has been thriving. We have incidents, but we learn.