Não tenho certeza se esse é o problema no seu caso, mas você deve sempre verificar o resultado de Read(). por exemplo
if (myReader.Read())
{
statement = myReader.GetString(0);
}
Editar: Além disso, o que você está realmente fazendo é recuperar um escalar e, como tal, você pode usar ExecuteScalar()
return (myCommand.ExecuteScalar() ?? string.Empty).ToString();
//also rename your method appropriately