How to you make 'Collect X coins to win' style games? - Whats wrong with this code?

I attached this script to the player in my game, although ‘he’ won’t ‘pick up’ the coins tagged M when he collides with then ; He just hits them and glances off to the side.

The player (Based on the 3rd person player construction worker.) has an invisible box collider attacked to make him pick up coins in a range slightly larger than his body ; set to trigger.
The coins are solid shapes that have particles occasionally blinking on them and they are definitely tagged M.

(Sadly, I am unable to upload the assets for the whole thing to determine if the problem is related to something else.)

Here is the code. (Java script)

var Marks : int = 0;
var Markers : int = 0;

function OnTriggerEnter (other : Collider) {
     if (other.gameObject.CompareTag ("M")) {
          Marks += 1;
          Destroy (other.gameObject);
    }
}

function OnGUI()
{
     if ( Marks > Markers )
    {
          GUI.Box( Rect( (Screen.width/2)-100, 10, 200, 35 ), "You finished!" );
          Application.LoadLevel( "Mainmenu" );
    }
}

Try it with OnCollisionEnter.