Button motion

I have seen this many places and I have also been able to get it to work, but I was wondering if anyone can point me in the right direction on the best practice to have buttons animate a certain way when you roll over them and then animate a certain way when you roll off of them. The technique I use is have this two animations within the inside the button mc. Then on the main timeline I use code that dictates what happens when the users rolls off and on the button. This works seems to work Okay except when the user rolls back on and off rather quickly and the main timeline then doesn’t move the playhead to the appropriate place. I’m rambling here, and I can send an example of the code that I use. Here is an example of a site that does what I’m looking to do on the main buttons…http://www.basicfunction.com

Here’s an example. Saved both as MX and MX2004.
Feel free to ask questions about the code if anything is unclear!