The problem is SQL.
When SQL returns numeric values as Strings, they are converted to Float.
Which means 6 significant digits, that's why the result of the total() query returns 11510.80 and not 11510.75.
To get correct results you need to get the individual values and add those in the loop as you already do.
But, instead of
Gesamtsumme_1 = Gesamtsumme_1 + Cursor.GetString("Guthaben")
use
Gesamtsumme_1 = Gesamtsumme_1 + Cursor.GetDouble("Guthaben")
In your case GesamtSumme_1 returns the correct value because all individual numbers are converted to Double without 'Float rounding'.
If you had in your database any individual number with more than 6 significant digits you would also get in trouble.
Another workaround in your case with two decimal digit numbers, could be to multiply all values by 100 and use the INTEGER data type in the database and divide then by 100 after reading. I would use the calculation in the loop.
Question for Erel:
Could it be possible to have a query like ExecQuerySingleResultDouble, which returns a Double instead of a String, or is the problem in the Android library?