Как в .Net Windows Forms сделать так, чтобы содержимое формы не было видно на screenshot-е?
Какой-то порочный подход «Всё запретить!». Юзеры тогда будут фотографировать экран на мобильник и присылать фото.
А что мешает приложению самому составлять отчет об ошибке, и выводить только окошко с кнопками «отправить отчет в СП» и «не отправлять»?
Очень ржачный подход — запретить скриншоты делать, чтобы люди буквы копировали. Как писали выше — лучше автоматом отчеты отсылать. Тем более, что для этой цели есть куча платных и фревых либ. Да даже голая винда это умеет. 

Ну а если Вы и вправду зададитесь целью это сделать, то нифига на .NET у Вас это не выйдет. Скриншоты делаются через WinAPI функции GetDC, BitBlt и т.д. И им плевать, на .NET Ваше приложение или нет. Соответственно, чтобы их обмануть, нужно написать свою длл-ку (на асме или на С++), найти какая часть винды делает скриншоты, подгрузить в память этого модуля свою длл-ку, запустить в ней удаленный поток, повесить хуки на GetDC, BitBlt (и может что-то еще), в этих хуках распознавать, кто и что пытается заскриншотить и вырезать из этих скриншотов свою форму. В общем, недели 2-3 работы для очень опытного системного программиста. Вы уверен, что Ваш саппорт настолько задолбался, что это имеет смысл? И, к стати, прикрутить к проге либу отправки сгенеренных отчетов — это я так думаю работы часа на 3 для .NET джуниора. Так что корректируйте цели.