while [ 1 ] ; do
# starts X with required parameters
# poll for button press
irw | grep -q "Power mceusb" && killall irw
irw allows you to read off the socket that the remote is connected to. So the script greps for the string that indicates the power button is pressed, kills irw and restarts XBMC.
The nice bit is that this script uses ~0.2% of CPU :D.