So I found the problem. I have been working on this project so long, I had forgotten that I created a custom List based on a suggestion I found on the internet. With the List, for some reason, there is a single-frame white flash that happens the first time that you touch it. It is all over the forums. A guy created a solution by dispatching a fake touch event to hide this scenario. When I switched over back to the regular list, my button problem totally disappeared. So yes, it turns out I am an idiot.
So now I am left trying to figure out how to hide this single frame flash on first touch LOL. Here is the code that he gave for the custom list: package classes { import mx.events.FlexEvent; import mx.events.TouchInteractionEvent; import spark.components.List; public class MyList extends List { public function MyList() { super(); //add event listeners addEventListener(FlexEvent.UPDATE_COMPLETE, updateCompleteHandler); } //update complete protected function updateCompleteHandler(event:FlexEvent):void { //fake touch start fakeTouchEvent(TouchInteractionEvent.TOUCH_INTERACTION_START); callLater(endTouch); } //quit touch event protected function endTouch():void { //fake touch end fakeTouchEvent(TouchInteractionEvent.TOUCH_INTERACTION_END); } //fake touch event protected function fakeTouchEvent(type:String):void { var evt:TouchInteractionEvent = new TouchInteractionEvent(type); evt.relatedObject = scroller; scroller.dispatchEvent(evt); } } } -- Sent from: http://apache-flex-users.2333346.n4.nabble.com/