He cambiado esta linea de la funcion:
Código Delphi
[-]F.ScaleBy(Screen.Width,ScreenWidth);
por esta otra
Código Delphi
[-]F.ScaleBy(Screen.Height,ScreenHeight);
Si se adapta bien en cualquier resolucion. Ahora, algunos botones no se ven bien, y no veo diferencia entre ellos, aunque el tamaño del dibujo puede que varie pero muy poco seguire investigando.