The key to the code is to limit the list query to the appropriate list type (see here for a list from Microsoft). In my case, it was "<Lists ListTemplate='107' />".
Then add some simple CAML (thank you Camldesigner) and you are there.
My final query was as follows:
SPSiteDataQuery q = new SPSiteDataQuery();
q.Webs = "<Webs Scope='SiteCollection' />";
q.Lists = "<Lists ListTemplate='107' />";
q.Query = "<Where><And><Or><Membership Type='CurrentUserGroups'><FieldRef Name='AssignedTo'/></Membership><Eq><FieldRef Name='AssignedTo'></FieldRef><Value Type='Integer'><UserID/></Value></Eq></Or>
<FieldRef Name=’Status’ />
// Always add a row limit (I may need to pass a CAF test)
q.RowLimit = 1000;
Two things I noticed during my development:
2. I had to write the CAML query in a single line. I tried using @" .... " but the runtime compiler kept complaining about invalid characters.