I have experience with Maxbotix, and can testify they’re good.
You will need some code in the microcontroller or in MaxMsp to filter out the noise and make the reading more precise,
as the raw readings are usually a bit noisy.
If you need more stable and precise readings even at greater distances, go with the infrared.
Sharp has put out a new model with the super easytouse analog output going up to 5 meters: GP2Y0A710K0F http://www.dema.net/pdf/htm/8002_GP2Y0A710K0F.html
On this page you find other Sharp IR sensors with different outputs and distance ranges.
I used the shorter version up to 150cm and was really pleased with the stability and precision of the readings,
much better that the ultrasonic shizz I must say.
Notice that while ultrasound has a wide "sensing ray",
infrared uses a much thinner "line",
so if your sensing area is too wide you may risk to miss your subject.