why unity... why

I have been using Unity3D for a while now and I noticed that when i add something, for example today i added a character controller to a cube that is supposed to be an enemy. After i added the cc it wouldn’t let me drag the cubes around like i could before so i removed it, and it still wouldn’t let me drag them anymore. Even after closing and re-opening Unity. And nothing else would fix it. Luckily i have my programs backed up in dropbox or this would have become very frustrating. I was just wondering why it does this sometimes. Basically it takes forever to actually commit the changes you have made sometimes, even though they are simple changes. Now as the title says, Why?

also why is this code not working, it says the expressions in statements error when i add this

        if 
	
	(GameObject.FindWithTag("Cube")) !Input.GetMouseButtonDown;
	GetComponent(lockontocastle).enabled = false;

edit: there i put the stupid tags that dont help anything, happy now?

http://forum.unity3d.com/threads/143875-Using-code-tags-properly

I don’t know what your code is trying to do, Input.GetMouseButtonDown is a function returning a boolean but you aren’t using it inside the if statement (nor calling it as a function).

I am trying to make the code ignore the lockontocastle script when the user clicks on the cube. I have another post about that, and i cant figure it out still so i kinda reposted here.