IMHO there is no good or bad. It depends on the circunstances. Using goto is usually a bad practice but in some complex validation code it can make the code much more clear.
Anyway... can you at least provide an AllowSelecting property? The row selection css classes are inserted if the RowSelect callback has a delegate. There is no way to turn it off dynamically. I have components that configure the datagrid with the datagrid with the same configuration we use in all the pages, and in most of them we do use selection with several preconfigured cases (open in dialog, redirect to page, etc). However, in cases like the one above, we would want to disable the insertion of the css classes for selection without having to configure the datagrid, and that is not possible right now. So, please, could you provide an AllowSelecting property to turn that off dynamically?