the problem seems only half solved - the author does not show how they select (only) the most recent record.
as soon as the app needs to generate a list of f.e. active users, this can get nasty pretty quick. sure, one could use an aggregate like max(version), but once there are joins or lots of records involved, this could become a performance hit...
EDIT: the records are kept in a separate table, so my arguments are moot.