BUGCODE_USB_DRIVER | Crash on restart/Cant read from as3glue | Mega 2560

Im pretty close to pulling my freaking hair out. It seemed like such a simple task, basic button. Using ground to send a signal on a digital input with a simple button. I have the standardF loaded on the board. Im using serproxy (no errors in serproxy) so I can access it in flash with as3 glue. At one point last night after 2 18 hour days of WTF why is this not working. It just started working, went to bed. Next morning I plugged the board into a second computer to test the code, it seemed to work better, I could not load the firmware version on my desktop in flash. But on my laptop it worked, however i could not set pins. wtf... plugged it back in to my desktop now its not working here either. 4 more hours of WTF tinkering, reloading fireware, drivers, same crap. When I open the serial monitar its garbled, but no combo of baud rates fixes it. I can write the blink sketch without issue thou and it never worked even when I was able to see my signals on the pins. I am at my wits end on this. Big issue one, when ever I use the controller when I shutdown i crash with the BUGCODE_USB_DRIVER on a bsod (win 7 x64) and the same thing happens on my laptop (win7 x64). As best I can tell I dont need the FTDI drivers thou i loaded the lastest ones anyway just to try it. When I look at the drivers in window its version: 5.1.2600.0 from 11/15/2007 i tried to update and all sorts of tricks but windows says this is the latest.

Please help. =(

This is my simple class for access the 2560

package elements 
{
	import com.greensock.*;
	import com.greensock.easing.*;
	import flash.display.*;
	import flash.events.*;
	import flash.utils.*;
	import net.eriksjodin.arduino.*;
	import net.eriksjodin.arduino.events.*;
	
	public class Controller extends Sprite
	{
		public var _tick:Timer;
		public var _board:Arduino;
		public var _pushed:Boolean = false;
		
		public function Controller() 
		{
			_tick = new Timer(50);
			_tick.addEventListener(TimerEvent.TIMER, onTick);
			
			_board = new Arduino("127.0.0.1", 5331);
			_board.addEventListener(Event.CONNECT,onConnect);
			_board.addEventListener(IOErrorEvent.IO_ERROR,onConnectError);
			_board.addEventListener(ArduinoEvent.FIRMWARE_VERSION, onFirmware);
			_board.addEventListener(ArduinoEvent.DIGITAL_DATA, trigger);
		}
		
		public function onConnect(e:Event):void
		{
			D.log("board connected" + e);
			_board.enableDigitalPinReporting();
			_board.writeDigitalPin(2, Arduino.HIGH);
			_board.writeDigitalPin(3, Arduino.HIGH);
			_board.writeDigitalPin(4, Arduino.HIGH);
			_tick.start(); // tick not needed but keeping to monitor states
			
		}
		
		public function onConnectError(e:IOErrorEvent):void
		{
			D.log(e);
		}
		
		public function onFirmware(e:ArduinoEvent):void
		{
			D.log("Firmware loaded" + e);
		}
		
		public function trigger(e:ArduinoEvent):void {
			D.log("Controller.trigger() " + e.pin + " = " + e.value);
			if(e.value == 0){
				switch(e.pin) {
					case 2:
						dispatchEvent(new ControllerEvent(ControllerEvent.PUSH, 1));
						break;
						
					case 3:
						dispatchEvent(new ControllerEvent(ControllerEvent.PUSH, 2));
						break;
						
					case 4:
						dispatchEvent(new ControllerEvent(ControllerEvent.PUSH, 3));
						break;
				}
			}
		}
		
		public function onTick(e:TimerEvent):void {
			
			var pin:int = _board.getDigitalData(2);
			if (pin === 0) {
				_pushed = true;
			}
			
			if (_pushed) {
				D.log('*********************** '+pin);
			}else {
				D.log('x '+pin);
			}
		}
		
	}

}

Big issue one, when ever I use the controller when I shutdown i crash with the BUGCODE_USB_DRIVER on a bsod (win 7 x64) and the same thing happens on my laptop (win7 x64)

Does the problem occur if you have nothing connected to the board?

Do you have a HUB in between the computer and the board?