No es por publicidad comercial, puedo decir que en Delphi también se puede hacer con la sentencia Create, en Windev sería ControlClone.
Código Delphi:
Control2 = Control1.Create()
En PowerCOBOL, no he visto nada en relación a ello, lo más parecido a ello son array previamente creado antes, habría que mirar la api de windows, que funciones intervienen en cada paso para clonar.
Sobre PROG-ID, es un número único que asigna el sistema operativo a cada objeto o activex que entra en acción con el sistema, lo correcto sería el handle del objeto que genera cada vez que se ejecuta.