Scripts still functioning even if UN-checked in editor?

Anyone else finding some strange bugs with unity 3.2? i searched the forums a bit and didn't find much...

My main "strange" occurrence is when I un-check a script on an object, but the script still runs. I'm running into other errors that "should" be working correctly, and I'm wondering if there are other buggy things that you guys might know about. any help is greatly appreciated!

function populateGrid() {
   for(i= 0; i < boxCount; i++){
      identifier = Random.Range(0,4);

      switch(identifier){
        case(0):
        (asset0.GetComponent(touchingThreeScore) as touchingThreeScore).idNumber = 0;
        myAsset = (Instantiate(asset0, Vector3(transform.position.x + xAdjust, transform.position.y + yAdjust, transform.position.z), transform.rotation) as GameObject);
        break;
    case(1):
        (asset1.GetComponent(touchingThreeScore) as touchingThreeScore).idNumber = 1;
        myAsset = (Instantiate(asset1, Vector3(transform.position.x + xAdjust, transform.position.y + yAdjust, transform.position.z), transform.rotation) as GameObject);                   
        break;
    case(2):
        (asset2.GetComponent(touchingThreeScore) as touchingThreeScore).idNumber = 2;
        myAsset = (Instantiate(asset2, Vector3(transform.position.x + xAdjust, transform.position.y + yAdjust, transform.position.z), transform.rotation) as GameObject);                   
        break;
    case(3):
        (asset3.GetComponent(touchingThreeScore) as touchingThreeScore).idNumber = 3;
        myAsset = (Instantiate(asset3, Vector3(transform.position.x + xAdjust, transform.position.y + yAdjust, transform.position.z), transform.rotation) as GameObject);                   
        break;
  }         

  if(xAdjust < columns){
     xAdjust += 1.1;
  }else{
     xAdjust = 0.0;
     yAdjust -= 1.1;
  }

  var touchingThreeScript2 : touchingThreeScore = (FindObjectOfType(touchingThreeScore) as touchingThreeScore);
  touchingThreeScript2.shouldPlay_tts = true;           

}

As Bunny83 says, the other functions will still work if they're specifically called.

You could add something like this to the top of your function:

if ( gameObject.active == false )
    return;