That's pretty nice - although I don't consider the PING or most of any of the other ultrasonic sensors expensive; honestly, they are really cheap compared to what was available in the past. You basically had the equivalent of the the SensComp kits:http://www.senscomp.com/
AKA - Polaroid rangers - which weren't cheap (and as you can see, still available - and still not cheap). Maxbotix also has fairly good sensors, though they aren't as cheap as others, either.
Something I am curious about (and I see this often in homebrew ultrasonic sensors) - why didn't you attempt to use a single sensor for both sending and receiving? Alright - I know it is more difficult to do, and hard to get your head wrapped around; I've always thought to try it myself, based on some designs from Hexamite:http://www.hexamite.com/
...but using sensors similar to what you are currently using. I'm just curious more than anything; everybody seems to go for the simpler route of the PING style (not too mention, since the raw sensors used are so inexpensive, why not)...
Anyhow - great article, great device, great job!