I generally do this immediately after calling a Fill ... or even in some cases an Add since those columns would not exist on the Add. This really is up to you and depends on if this is an isolated element of a single maintenance form or will happen for the entire BO no matter where it is used.
If it is the latter, then you may want to override the FillDataTable method on your BO. Then call this method after you call the MyBase.FillDataTable(...) method.
But It was only for extended properties. So, It is not hard to write.