Hi, thank you for your time!
A few objections - just so we can strike them from the list...

1) I thought that since I do "Imports System.Math" at the very top of the file I wouldn't have to write
Math.Sin(value) but could write Sin(value). Is this wrong?
2) Errors: I'm aware of this... Ehemmm... Is there a Tutor or FAQ on exceptions?
3) Old VB6 programmer

, well, actually I'm an old Pascal programmer and brand new both to VB6 and VB2008... But I'll try to remember the return thing. Would it be somthing along the line of:
CODE
xyz1.x = length * Cos(alfa1)
xyz1.y = length * Sin(alfa1)
Case Else
'Do exception stuff here
Exit Function
End Select
return xyz1
End Function
4) With
CODE
xyz0.x = 0
xyz0.y = 3
xyz0.z = 0
rotateKoordinates(CChar("z"), CDbl("90"), xyz0)
the result should be
exactly (-3, 0, 0)
5) The big one...
Since the function is thought to be used as a "black box", the internal representation of the values shouldn't matter as long as they are as good as - or better then - the external representation, don't you agree?
If you agree I don't understand what you mean. I believe I have all local variables as decimals - which I think has superior precision over doubles - while externals are doubles. This should prevent loss of precision to some extent I think.
Lets look at i.e:
CODE
length = CDec(Sqrt(xyz0.y ^ 2D + xyz0.z ^ 2D))
Since length is a Decimal I have to cast the expression to Decimal.
I can't do anything about xyz0.y being defined as Double - except for defining it as a Decimal and force the users of this function to do unnessecary casts. The accuracy of xyz isn't cruical except for those special occasions when either should be exactly 0, and to represent 0 you don't need anything better than an double or even an integer.
Since I don't know the inner workings of the "^" operator and the exponent of an exponential expression is cruical for the result I force the number 2 to be a Decimal - bad idea?
Would you please elaborate a little on this part about the different representations and their results on precision?
Again, thanks for your time and please excuse if I seem a little stubborn, I just don't get part of what you're saying.
Regards
Jens