The approach you have taken will get the job done. However, you can go one step further and don't show the spell dialog unless there are errors. For this to work, you will need to place a hidden RadEditor control on the page with only one tool - spell check. I have attached the updated example page to this message.
When the blur event of your textbox is fired, I use the editor's spell checking service to check the text. If there are no errors, I submit the page. If there are errors, I call the normal RadSpell control dialog and provide the user with suggestions for the misspelled words. From then its similar to your example - when the spell check dialog is closed (spell check is finished or canceled) I submit the page. The only difference is that I added a small timeout before submitting the page when the spell check is successfully finished. This way I can ensure that the textbox value is updated properly before it is sent to the server.
the Telerik team