Amigos, aquí os dejo el código para poder reposicionar/redimensionar los controles en caso de redimensionamiento del Sheet.

Para ver el ejemplo en funcionamiento, cread un SHEET, poned un PUSH en el centro del SHEET. Luego añadid un TIMER estableciendo el intervalo de ejecución en 10 y activadlo.

En el evento el TIMER poned lo siguiente:

COBOL Código:
  1.  ENVIRONMENT DIVISION.
  2.  DATA        DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  WS-SCR.
  5.      05  WS-POS.
  6.          10  WS-X       PIC S9(4) COMP-5.
  7.          10  WS-Y       PIC S9(4) COMP-5.
  8.      05  WS-DIM.
  9.          10  WS-W       PIC S9(4) COMP-5.
  10.          10  WS-H       PIC S9(4) COMP-5.
  11.          
  12.  01  SV-SCR.
  13.      05  SV-POS.
  14.          10  SV-X       PIC S9(4) COMP-5.
  15.          10  SV-Y       PIC S9(4) COMP-5.
  16.      05  SV-DIM.
  17.          10  SV-W       PIC S9(4) COMP-5.
  18.          10  SV-H       PIC S9(4) COMP-5.              
  19.          
  20.  01  BTN-SCR.
  21.      05  BTN-POS.
  22.          10  BTN-X       PIC S9(4) COMP-5.
  23.          10  BTN-Y       PIC S9(4) COMP-5.
  24.      05  BTN-DIM.
  25.          10  BTN-W       PIC S9(4) COMP-5.
  26.          10  BTN-H       PIC S9(4) COMP-5.    
  27.              
  28.  PROCEDURE   DIVISION.
  29.      
  30.      MOVE POW-POSITION OF SHEET1 TO WS-SCR
  31.      
  32.      IF  WS-DIM NOT = SV-DIM
  33.          MOVE WS-SCR  TO SV-SCR
  34.          
  35.          MOVE POW-POSITION OF PUSH1 TO BTN-SCR
  36.          
  37.          COMPUTE BTN-X = (WS-W - BTN-W) / 2
  38.      
  39.          MOVE BTN-SCR TO POW-POSITION OF PUSH1        
  40.      END-IF    

Compilad y ejecutad el programa. Al rediemnsionar el SHEET el PUSH se desplazará quedándose siempre en el centro horizontalmente.