Почему в результате получается 0, а не 1?
Math.Round(0.5, 0, MidpointRounding.AwayFromZero)
Вот пример: http://ideone.com/ayMVO