I see the value in being proactive, rather than waiting for budget or time constraints to catch up on the project. On the other hand, I don't think every project should be a race to arrive under-budget and under-time, at the expense of a proportion of "Should Haves" and "Could Haves".
One of Scrum's primary objectives is to produce high quality increments of deliverable product. It is not, primarily, focussed on delivering products under-time and under-budget. (although it can do so) I think that asking the Product Owner if the project is finished, at each sprint after the "Must Haves" are completed, potentially shifts the focus to delivering a minimum acceptable set of features, rather than using the time and resources available to deliver the maximum quality of product possible.
I believe the Scrum Master should keep a watchful eye on the constraints, while not necessarily striving to end the project as early as possible.