Concerning SunPosition returning different results from AstronomicalData, I am unable to reproduce this in any significant way. Using the exact input you used:
SunPosition[GeoPosition[{52.37, 4.89
}], DateObject[{2013, 3, 1, #, 0, 0}, TimeZone -> 1]] & /@ Range[0, 23]
I get the same results as with AstronomicalData (possible differences in precision and also results coming back as Quantities ignored.)
I definitely am unable to get any significant difference such as what you showed in your original post.
If you are using a pre-release version of Mathematica 10 or something related, that might be to blame.
In[1]:= SunPosition[GeoPosition[{52.37, 4.89
}],
DateObject[{2013, 3, 1, #, 0, 0}, TimeZone -> 1]] & /@ Range[0, 23]
Out[1]= {{Quantity[341.1, "AngularDegrees"],
Quantity[-43.9, "AngularDegrees"]}, {Quantity[1.9,
"AngularDegrees"],
Quantity[-45.2, "AngularDegrees"]}, {Quantity[22.6,
"AngularDegrees"],
Quantity[-43.3, "AngularDegrees"]}, {Quantity[41.2,
"AngularDegrees"],
Quantity[-38.4, "AngularDegrees"]}, {Quantity[57.3,
"AngularDegrees"],
Quantity[-31.4, "AngularDegrees"]}, {Quantity[71.2,
"AngularDegrees"],
Quantity[-23.2, "AngularDegrees"]}, {Quantity[83.8,
"AngularDegrees"],
Quantity[-14.3, "AngularDegrees"]}, {Quantity[95.7,
"AngularDegrees"],
Quantity[-5.1, "AngularDegrees"]}, {Quantity[107.6,
"AngularDegrees"],
Quantity[3.9, "AngularDegrees"]}, {Quantity[120.0,
"AngularDegrees"],
Quantity[12.3, "AngularDegrees"]}, {Quantity[133.5,
"AngularDegrees"],
Quantity[19.6, "AngularDegrees"]}, {Quantity[148.3,
"AngularDegrees"],
Quantity[25.4, "AngularDegrees"]}, {Quantity[164.5,
"AngularDegrees"],
Quantity[29.1, "AngularDegrees"]}, {Quantity[181.6,
"AngularDegrees"],
Quantity[30.2, "AngularDegrees"]}, {Quantity[198.6,
"AngularDegrees"],
Quantity[28.6, "AngularDegrees"]}, {Quantity[214.6,
"AngularDegrees"],
Quantity[24.5, "AngularDegrees"]}, {Quantity[229.2,
"AngularDegrees"],
Quantity[18.4, "AngularDegrees"]}, {Quantity[242.5,
"AngularDegrees"],
Quantity[10.9, "AngularDegrees"]}, {Quantity[254.8,
"AngularDegrees"],
Quantity[2.4, "AngularDegrees"]}, {Quantity[266.6,
"AngularDegrees"],
Quantity[-6.7, "AngularDegrees"]}, {Quantity[278.6,
"AngularDegrees"],
Quantity[-15.8, "AngularDegrees"]}, {Quantity[291.4,
"AngularDegrees"],
Quantity[-24.6, "AngularDegrees"]}, {Quantity[305.7,
"AngularDegrees"],
Quantity[-32.6, "AngularDegrees"]}, {Quantity[322.2,
"AngularDegrees"], Quantity[-39.2, "AngularDegrees"]}}