This is true of all aggregate functions used with that syntax. Aggregate functions use one of the following to compute a value from a set of fields--not the found set:
Max ( field1 ; field2 ; field3 ) --- returns max value of values stored in these fields for the current record
Max ( repeatingfield ) --- returns max value of all values stored in the repetitions of this field
Max ( Relatedtable::Field ) --- returns max value of Field from all records related to the current record
To get an aggregate value based on a found set, you would need to use a summary field in place of the calcualtion using an aggregate function.