I found a bug today in CFMX, CF5 executes the code as you would expect.
Essentially if you do a query of query with maxrows, and then do another q of q on that result, the resulting q of q is using the wrong query and returns the wrong number of rows.