No estoy seguro si este es el problema en su caso, pero siempre debe verificar el resultado de Read(). por ejemplo
if (myReader.Read())
{
statement = myReader.GetString(0);
}
Editar: Además, lo que realmente está haciendo es recuperar un escalar y, como tal, podría usar ExecuteScalar()
return (myCommand.ExecuteScalar() ?? string.Empty).ToString();
//also rename your method appropriately