Wegen deinem zweiten Problem, eine Idee (wenn auch unschön und ggf. weiß jemand etwas besseres):
1. Fenster wovon ein Screenshot gemacht werden soll, den Status "Stay_On_Top" mit WinSetOnTop() geben
2. (ggf. muss das Fenster aktiviert werden mit Winactivate um das nochmal zu triggern aber da bin ich mir gerade nicht sicher)
3. Screenshot machen
4. Fenster wovon ein Screenshot gemacht werden soll, den Status "Stay_On_Top" mit WinSetOnTop() wieder nehmen