Используемая вами техника захвата экрана хорошо работает для захвата вещей, которые не ускорены аппаратно. Я подозреваю, что у вас возникнет та же проблема при попытке захвата кадра фильма в проигрывателе Windows Media.
Решение - сделать снимок экрана с самого оборудования, используя DirectX. В этой статье объясняется, как это сделать с помощью некоторого кода и управляемой оболочки вокруг DirectX под названием SlimDX .
EDIT
Если Slim DX не работает для вас, вам просто нужно найти другую управляемую оболочку для Direct X. Я не думаю, что вы сможете сделать снимок экрана, не работая на аппаратном уровне, и DirectX это способ сделать это на платформе Windows.