Ideally, one would also prefer higher versions of each package. How much longer would it take to find a solution with the guarantee that there's no other solution with all packages at least as good?
However, users are always encouraged to add more constraints to shape the solution, and packagers encouraged to take good care of the metadata.
At prefix we are quite interested in figuring out how we can help packagers to determine e.g. compatibility ranges more correctly by doing static analysis and such things.
Developers usually want the newest, but maintainers usually want the oldest.
Ideally, yes. In practice? I know that I rather strongly prefer not to use the latest version of any piece of software.