I am pleased to read that someone else has had the same problems as me. Not because I enjoy seeing anyone struggling, but because I have become quite despondent whilst trying to make my own externals. I have found that by all accounts the problem is not the actual coding but instead XCode is to blame for many holdups!
I have included a file that one of my lecturers wrote for me with some basic instructions for adding inlets and outlets to externals, starting off with the simplemax object that is in the examples folder of the Max SDK. I found this extremely useful and from this have managed to make a few externals myself.