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 talking about actually clicking on the design view button and changing the SourceObject there? If so, then, yes, that would be a design change, and your users would need privileges.
The approach we are talking about is only a run-time change. Nothing about the form gets permanently modified, and one user's changes are invisible to other users. The users don't need special privilege to do this.
Bill Norton
Austin, TX