Разобрался сам после более вдумчивого чтения MSDN. На всякий случай — правильный ответ.
imgList1.ImageSize = new Size(50, 50);
System.Drawing.Image img = System.Drawing.Image.FromFile("Black and White.bmp");
Rectangle section = new Rectangle(0, 0, 50, 50);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(section.Width, section.Height);
Graphics g = Graphics.FromImage(bmp);
g.DrawImage(img, section, 0, 0, section.Width, section.Height, GraphicsUnit.Pixel);
// вместо:
// g.DrawImage(img, 0, 0, section, GraphicsUnit.Pixel);
imgList1.Images.Add(bmp);
Дело в том, что использованная в первом случае функция использовала разрешение изображения из файла (72dpi) при выводе на экран с другим разрешением (96dpi). При использовании указанной функции — происходит перемасштабирование изображения.