The Tranz Alpine train had to be stopped and was delayed for more than two hours after a passenger suffered a medical emergency.