Oh, that's a nice solution. You don't even really need to change the relationship in that case. You could set up your DataSet with two relationship and then just use the Hidden property on the band in the grid to hide one band or the other.
The BindingManager probably doesn't have notifications for the kind of thing you are doing. Try setting the grid's DataSource to null and then back again.