First of all let me correct a coding error. To change a subform's RecordSource try this:
Me.mySubFormName.Form.RecordSource = "SELECT X, Y, Z, FROM ... WHERE " & lsWhereClause
Now, when you say that changing the SourceObject for an existing subform is considered a design change, are you...