Actually, I know I keep thinking this but today after a few months of stuff like linear algebra, I think I may have got it at last but the solution looks to be very much like an, 'OUT SIDE OF THE BOX', solution.
If I am right then I shall post the results, but not the solution, 'he, he, he', I shall keep that to myself . . .but there again who know's !
It might be instrumental to fire up something like Blender to see how they do their extrusion. Most operations are performed relative to the 3D view, so if you select an edge and extrude it, then the extrusion will happen upon planes parallel to the view plane. However, you can override that by choosing to extrude along any of the coordinate axes. Also, you can choose to extrude along normals, which means that each vertex will move along the line formed by their vertex normal, or along the line formed by a face normal. You can also change the extrusion by changing the center point. If you set the center point to be the 3D cursor, then you can have edges and faces extrude toward or away from the cursor. Other options include the object's center point, the median center point of all selected objects, etc...
As you can see, there isn't really a one size fits all solution to extrusion. You should choose the best option for your particular application.
Hi and thanks for the reply, I am a big fan of Blender it is one of my favorite applications and I think the source is open too but I really would not think of looking there for a solution because I have wanted to figure this one out myself and as intimated in my previous post I have found, my solution, although I am not going to divulge what it is but here are a couple of images of the proof, which means at last I may be able to get a bit of sleep. Index order and other things, like a full scale implementation will take a few months I guess but what this means to me is that finally now, I can move on . . . phew !