Math.Round restituisce un Double e non può essere messo in un Single

come non puoi mettere un Long in un Integer

Il cast è obbligato in Basic, e con maggior ragione in c#