This is all very good advice thanks so much. The only issue I now have remaining is how to get my own IDE to stop issuing orders to export things from the DLL I do not want it to export. At the moment it's taking it upon itself to export everything. Once I've learned to stop it from being naughty like this, then I think through the use of .def files and some great info from microsoft's website I can produce the leanest and most transferrable method of handling DLL's.

If I ever find how to get my IDE to behave how I want it to I'll post up here how I did it. Thanks