That helps a ton - Thanks!
I still have no idea what eq1 represents though

Ie. why is that formula correct, what does it "do" (is it adding vectors or...)
The rest I can follow.
~
It's simple phytagoras.
~
The 3 points: M1,M2,P build a triangle. M1M2 is the base line and the blue line is the height of the triangle.
~
~
.........P
.........|
M2 ------------ M1
........Pk
~
We can split it in two rectangle triangles: M2,Pk,P and M1,Pk,P
Both rectangle triangles have the same hight PkP so we calulate PkP for the left triangle and PkP for the right triangle and set this equal.
left:
a^2+b^2=c^2, for the left side is: M2Pk^2+PkP^2 = DM2^2
for the right side: M1Pk^2+PkP^2 = DM1^2
~
for Pk we know it's somewhere on the line given by M1M2 and the position is what we would like to know.
makeing it with a factor k we just have to care about one unknown only solvable with one equation eq1
~
Set PkP^2 left == PkP^2 right and you get eq1
~
Probably true
Any idea if this is resistant to wrongly reported distances?
If not, perhaps (as JesusFreke has been suggesting for the other method) leave out 1 pair, and then try for each such combination (as one should then be wrong, and thus be identifiable)
~
You will always get a specific position with which you can calulate back the distances to the reference systems and compare with what was entered.
In case wrong distances were entered you should get notable differences (error) although I haven't tested taht.
With additional references (take 5 instead 4) you get better fail entry detection.
~
Note this difference: It requires 4 good references to get a definitve position. With 3 only you theoretical get a line for the possible positions. (different to the trilateration where you get 2 possible possition with 3 references)
If A*x = b is solveable you get a specific position. If it is not due to lack of information your math lib should report unsolvable error and you know.
You can fix it by adding one more ref system or check the 4 ref system for distinct enough postions to each other.
It's rather unlikely you have that case. When you pregive the 4 refsystems to use then you have ruled this out anyway.
~
That last bit I'm not sure how to handle (by hand) either
With more than 4 reference systems you are in fact getting an over determined system as well, which needs to be handled.
~
I see you are not that familiar with the least square approach. That methodic is something very very usefully.
http://en.wikipedia.org/wiki/Least_squares
~
The Err formula (Err

is actually a sum of i planes. But of course I only solved it for 1 Element/plane.
For building the Matrix A you have to sum them all up!!
You don't solve for each plane one after the other. You put every single plane into A and b and then you right away get your result P(X,Y,Z) and finish.
Maybe I can give you some code example so you will see.
Problem is a bit..I used some code that I might not distribute.
~
Edit to add links for solveing a linear eq sets (don't think you need them thought but might be helpfull for the one or the other)
A*x = b
http://en.wikipedia.org/wiki/System_of_linear_equations
http://en.wikipedia.org/wiki/Gaussian_elimination
3*3 you can probabily well code out directly too.