Je to proto, že toString() používá aktuální CultureInfo! Záleží na kultuře, zda je dvojka oddělena čárkou nebo tečkou.
Viz také toto Otázka Stackoverflow!
Pokud jej odladíte, měli byste vidět, že čtečka["Cena"] vrací Objekt (type=Object{double}). Je zde hodnota správná? Myslím, že ano, takže pro zobrazení dvojité hodnoty proveďte následující:
string display = double.Parse(reader["Price"], CultureInfo.InvariantCulture).ToSring(CultureInfo.CurrentCulture);
System.Diagnostics.Debug.WriteLine(display);