Dette skyldes, at toString() bruger den aktuelle CultureInfo! Det afhænger af kulturen, om en double er adskilt af et komma eller en prik.
Se også dette Stackoverflow-spørgsmål!
Hvis du fejlretter det, skulle du se, at læseren["Pris"] returnerer et objekt (type=Objekt{dobbelt}). Er værdien korrekt her? Jeg tror det er det, så lav bare følgende for at vise dobbeltværdien:
string display = double.Parse(reader["Price"], CultureInfo.InvariantCulture).ToSring(CultureInfo.CurrentCulture);
System.Diagnostics.Debug.WriteLine(display);