You should not redeclare the correctsound variable inside the function, or else that function will be using the local variable, which is not the same variable that will be referenced later. Lose the 'var' when setting it inside the function.

Since checkTarget expects a MouseEvent, Flash tried to cast the event sent to it as that. But since the COMPLETE event is not a MouseEvent, you get that error.

You don't want to call checkTarget on the sound load complete.