If someone from Saudi Arabia comes to the U.S. and stones a woman to death for being raped, would we give him a free pass, since he is complying with Sharia law, the religious law of his home country? No. The same should apply to the U.S. soldier; he was in another country, he is bound by their laws, customs and traditions, not ours. It was culturally insensitive for him to make such a daring gesture, even if it was for good intentions. That kind of ignorance can lead to people getting killed, especially in very sensitive religious locales. At the least, our presence in Iraq will become even more resented, slapping our Sunni allies (who were key in reducing violence in the region) right in the face. Worst case scenario, the Shiites and Sunnis set aside their hatred for one another, unify as Muslims and start a religious conflict in the area with Christians - like we don't have enough hostility to deal with.
I think soldiers should undergo some rudimentary cultural anthropology instruction to make them aware of just how serious cultures can be in regards to their age-old customs and traditions, to learn the taboos of the areas they are stationed in so they don't [mess] everything up. They need to understand that some places do not allow the freedom of expression or beliefs that the U.S. does, and one wrong move, especially regarding religion, can cause immense problems for our continued presence there.
"That he was a Marine at the time does not enter into the equation, unless he was on duty at the time."
The article stated he distributed the coins while manning a checkpoint controlling access to the city - I doubt he was waiting there on his off time.
Not only did he disobey orders to not proselytize religion while on duty, but he added fuel to the growing fire of resentment Muslims in Iraq feel for our presence. Political motivations for fighting against us are enough; we don't need to bring religion in to make things worse.