Best onRollOver substitute?

I realize that there is another thread that asks the same basic question, but I have some additional questions and I figured I’d ask them here instead.

Let’s say I have a MovieClip sitting in a layer with an instance name of myMovieClip.

Question 1: How come when I trace(typeof myMovieClip) it returns object?

Question 2: How come when I attempt to trace any of this MovieClip’s children, I get undefined?

Let’s say I want myMovieClip to do something when a user rolls over it. I understand that simply typing myMovieClip.onRollOver = function(){} will not work anymore, and that I’m supposed to use three times as much code to create an event listener and subscribe it to myMovieClip, etc etc.

Question 3: How come when I do this, myMovieClip doesn’t make the mouse cursor turn into a hand, even though the proper mouse event is firing? Setting .mouseEnabled and .useHandCursor to true do nothing. Is this because the player thinks that myMovieClip is an object and not a MovieClip? How can I change this?

It seems odd to me that one of the most common routines in Flash development (programming mouse actions) has become this obscure. Is there any easier way to go about this sort of thing in the future? Do I really need to create a seperate class for every single element that I want to program mouse interaction for?

The migration section of the CS3 help files is very nebulous on all of this and contains the typical Macromedia/Adobe circular references with no supporting examples. Any help would be appreciated.