Hi all, I got all the problems mentioned above. But I managed to fix the button issue by insert some extra lcd message. Initially it's for debug purpose, but because I added 1 second delay after every message, it might cleared key buffer, so I can still use 'Orange Button' to exit manual balance loop.
Now My Nxt uses Mindsensor tilt sensor, and it does try to balance itself. But all the PID const needs to be readjusted. Any body had any luck in tuning your tilt sensor? Any advice is appreciated!