Why not call DialogBox after calling CreateWindow? That will show your modal dialog and window at the same time. I don't think there's a way to do it from a window proc, albeit using timers. However your first post indicates you are calling CreateDialog and using it in combination with EndDialog, which is incorrect usage. CreateDialog also shouldn't hide your parent window. You should post your sample source so we can pick it apart.
C# is it's own language... I wouldn't say it's an exact combination of anything because the libraries and many components such as generics are quite different. It came about out of the Sun-Microsoft fiasco many years back over the language known as J++ or something like that. They hired the guy from Borland/Inprise who created Delphi to construct a new language similar to Java with the benefits of Delphi (some people consider the VCL a precursor to the FCL). So C# is really, if anything, a Java/Delphi hybrid he he he. C# was dubbed the Java-Killer for a long time but it didn't really kill Java; you could say it killed Delphi though.
I find that using standard formats are overkill for use in games. Very few professional games use collada or x files. You want your data to be read quickly so I prefer chunk based binary formats. A lot of games like dynasty warriors use chunk based formats. Many games like any using Sony phyrengine use a binary scene graph format. Hyper dimensions neptunia also uses scene graph based format. Many games like saints row the third use flat binary files. Use whatever you want just be sure you can read the data fast.