If the tracking side isn't such a big deal, perhaps it could be tracked and saved but not displayed in the interface, with users who are interested able to obtain the information by opening userdata.nxsv in a text editor.

I'd second this. If it's already possible (or trivial to implement) to store multiple record details for one level in userdata.nxsv and it's ok to have a little bit of bloat (which I think is negligible in practice anyway), it'd make sense to consider a system that may track more than what you currently display, so we have a separation between the data and the UI, and can iterate on the UI over time based on what people like to see.

Assume we've already decided on the set of statistics of interest (ie. from the thread, we have "lemmings saved", "skill used", "time to meeting save requirement"). Each solution then produces a potential record consisting of the combination of values of the statistics that the solution achieves. The list of existing records for the level will then be managed as follows:

1) If the potential record improves on at least one statistic (could be worse/equal in other statistics) compared to at least one existing record, or if this is the very first solution so the list is empty, then we add it to the list of records. If this condition isn't met then it means every existing record beats this potential record across all statistics, ie. no improvements whatsoever, so we're done.

2) also, if this new record is better or equal in all statistics to an existing record, then any such existing record has been completely superceded by this new record, and all such records will be removed from the list.

3) finally, for each statistic, we calculate the best value seen for that statistic across the updated list of records. Any records in the list that does not achieve a best value in at least one statistic will be removed from the list.

~~(Not sure if this rule might also make #2 redundant, I suspect so but don't feel like working it out.)~~ [edit: not redundant]

The UI should be able to work out what to display by suitably sorting the list according to the statistics in some ranked ordering (eg. "most saved", then "fewest skills", then fastest), and pick out the resulting best record. Similarly, the user can potentially copy-paste the list of records from userdata.nxsv into a spreadsheet program and performs the same kind of manipulation there manually to determine the result they need.

We may be keeping more data then is strictly necessary even to support all possible schemes of ranking of the statistics, but I think the above rules should help manage a good deal of possible bloat compared to a more naive scheme that keeps all records or only handles rules #1 and #2, and is still simple enough from an implementation standpoint.