"Also I would like to use the full 9 limit functions in Mach 3 (IE ++X, --X, ++Y, --Y etc). I have got this right, they are the limits per axis? Or am I missing something else here too.."
Yes, ++X, --X, ++Y, --Y etc refers to possible axis limits. But you still can use just one of them and as long as Mach stops when a limit trips, that is all you really care?
I generally don't get involved in setting up Mach as I don't use it, so what I have to say may be off base. But, the idea of hard limit switches is for the "aw crap" moment. Now having said that, If you want to use all of the named I/o points in Mach, I "think" you can call out the same pin number that you used for the others. As I said, this is for the "aw crap" moment when you want the machine to stop before it does harm to itself. I don't know if Mach tells you which limit has operated or not, but usually a quick glance at the machine will tell you where you went out of bounds.
Hope I am making sense.