I expect that libpd is going to be used in performance critical code. It used to be the case that any functions that throw add quite a bit of context wrapping and unwinding code (e.g., VS2008, gcc 3.x), and even in the case of an exception throwing function that does not throw function call overhead increases by a measurable percentage. Actually, it looks like it is still true. http://msdn.microsoft.com/en-us/library/8ydc79k6.aspx  So my inclination in general is not to use exceptions for things that might happen many times per second. I do prefer exceptions for things like opening files that don't have a strong performance expectation.

My anticipation for sendBang and the other sends is that they might reasonably be called on the order of dozens of times per second in some applications, particularly if a complex control surface is hooked up to patch.