Interesting problem. This makes me wonder, because I quite often had (and still do) encounter the situation of projects developed on two machines. In my case it looks like this:
- computer at work: Windows 8 64-bit, Lazarus 3.2,
- computer at home: Windows 10 64-bit, Lazarus 3.0, recently upgraded to 3.4.
I am moving the entire directory with the source files, but without the subdirectories with the compiled and backup files (lib, backup). So there are files in it: pas, lfm, lpi, lps, res, ico. And it all compiles without crashes or errors. In most cases, these were quite simple programs: a main window, a few dialog windows, a few data processing modules. Mostly used classes, both library and own (but not installed in Lazarus). In most cases, the settings for such a development program are stored in an INI file.
So maybe in your case there are some differences in Lazarus? For example, specific packages installed? Any specific settings in the OS?