When coding in hurry can be forget our code details like as "when I created this function".
Never code in a hurry....
Lazarus also does backups, and you can set hew many and where (explore the options).
However since the project is saved for each compile, that does afaik each time create a backup.
As already suggested version control. (git/svn). Really good, but you must remember to commit regularly.
Other options.
Define a "code template" (option menu) to create the new function. (and a 2nd for procedure)
function $param(Name)($param( )): $param(Type); // $Date()
you can assign it to enter the word(part) func, then hit ctrl-j
Your new function should have a date.
You can play with editor macros/pascalscript too, but that is a long shot.
You can intercept the ctrl-shift-c, by reassigning it to a macro, and then the macro calls the original function (and does whatever else)