Yes user5, its quite likely that during the initial development, you were unhappy with the contents of one of the original (2012) Lazarus files. So, you copied it to your project directory and edited it as necessary. The build process looks in your project dir first, finds it and looks no further.
Repeating things already said, for emphasis and clarity!
It sounds to me like you have both winlazfileutils.inc and lazutilsstrconsts.pas in your project directory ? Hover the mouse of its tab in the IDE, it should show you the path to that file. These are files that belong in the Lazarus source tree, NOT your project directory.
You should, probably, try to eliminate all those 'imports', one by one or any upgrade to Lazarus will be a nightmare. So, close the project, starting with the one just identified, rename (or move elsewhere) each import and try and resolve the problems that introduces. Comparing the content of your import to the Lazarus 4.0 one might be useful. Please do it one by one, close the project, rename the file, open the project, compile. There will be errors, particularly the one that the import dealt with, find a better way to fix it.
Remember what I said above "Hover the mouse over that (uses) entry, when you do so, a yellow box will pop up and show a link to the file. Examine that link (before you click it) and ensure its path is to the Lazarus install you expect (and its not in your project files)". You need to end up with only your files in the project directory.
You could, perhaps, just workaround the problem, adding the missing definition to your imported files for example but honestly, that would be a fools paradise, might seem to work but is just making the problem worse.
Davo