If possible, put the full details in the "Description" in the backup file. That way it's always automatically/inherently available with the backup. The description can be retrieved prior to an actual restore (via RESTORE HEADERONLY). You can still have a "basic" description of the backup if you want. You can separate it from the full backup details that just aid with restore by using delimiter char(s) if you prefer (such as preceding/enclosing the restore info in ~ or whatever char).
As you've seen, don't rely on the msdb tables, because:
(1) you don't want to be limited to restoring backups from came from that instance only. It's much easier to have your logic just restore all files in a specified folder, regardless of source or datetime of the file.
(2) you don't know if/when msdb rows will be cleared.
SQL DBA,SQL Server MVP(07, 08, 09) Prosecutor James Blackburn, in closing argument in the Fatal Vision murders trial: If in the future, you should cry a tear, cry one for them [the murder victims]. If in the future, you should say a prayer, say one for them. And if in the future, you should light a candle, light one for them.