Try the reinit branch on ofxPd: https://github.com/danomatika/ofxPd/tree/reinit
As suggested, it automatically reinits if the buffer size or num channels changes in audioIn()/audioOut(). As you noticed, this should work without having to reload patches or setup receivers, etc.
Let me know if it works.