sono sul cell e non ho tempo e voglia di leggere tutto approfonditamente.

ma la tua disperazione mi ricorda un episodio che mi successe tempo fa:

non sarà qualche double che fa strani scherzi?
mi ricordo che un valore che avrebbe dovuto essere 3.0 in realtà era 3.0000000000001 con tutti i casini del caso.