Dies sollte auch gehen:
result := Round(Screen.PrimaryMonitor.PixelsPerInch*100/96); // ganze Prozent
Ist auch leicht auf alle Monitore zu erweitern.
XE7 kennt Screen.PrimaryMonitor.PixelsPerInch nicht.
Ersatz:
caption:= INTTOSTR(ROUND(Screen.PixelsPerInch*100/96))+' %';
Zeigt bei WIN8.1 richtig an: 100% bzw. 125%