Есть ли способ узнать, был ли экран изменен или нет?
Я думаю, что это возможно сделать, установив хук GetMsgProc для обнаружения каждого события WM_PAINT.
Хук должен просто изменить флаг в разделяемой памяти, считываемой основным процессом RDP.