Currently the return from DynamicDialog::create() is not documented anywhere, except indirectly by this example:
rc = MyDialog~Create(20, 20, 300, 200, "My first Dialog", ,
"THICKFRAME NOMENU", , "Courier", 12, 100)
if rc <> 0 then MyDialog~Execute
Which implies that 0 is failure, not 0 is success.
Currently the code returns the pointer value of the in-memory dialog template. This is somewhat silly, because the user can not possibly do anything with the pointer value, and the ooDialog code does not use it either. Internally ooDialog uses the activePtr attribute.
The return should be .true for success and .false for failure, and documented that way.