Timing might be off, if it runs fine at lower RPM and then falls flat on its face. I believe the hall sensor gets double checked at around 4000rpm in order to prevent cross firing etc. Other things would be checking for vacuum leaks, ECU codes if any. Also have a check if the accelerator cable is tight, and opens and closes the throttle body completely. Dave