Jason,It is really pretty dangerous to do what you have done here for a number of reasons. You are putting yourself out on an island here so you will never be able to reliably load a new SF build without breaking the changes here. I would recommend a totally different approach here.
First of all, you would be better off copying the BaseForm code out of the SF source and creating your own base classes versus changing the SF code itself. This way you can at least have a barometer to work off of when your changes to not work. You can see what is breaking versus everything just not working.
Second, the RibbonForm may be firing things in a different sequence (pretty much guaranteed) than the standard SF dialog which could be having an effect as well. So without me setting this up, I am not going to be able to tell you exactly what needs to happen in regards to the changes.
Third, and this is just a warning, I have experienced a number of reports from other SF users that the ribbon form (along with the DevExpress themes) has caused some performance issues the larger the application has become. This has nothing to do with your issue, but I thought it prudent to at least point this out.
Again, without me actually trying to set this up I will not be able to tell you exactly where your issue is. However, I am farily confident that the instantiation of the ribbon form will be firing differently than the standard .NET dialogs which to me would be the first place I would start looking.