The lecture in video urc_s03_resetting_your_unreal_project is the fix for this problem.
It has to do with the .generated.h files containing references to the physical line numbers of the UCLASS and GENERATED_BODY() macros. If the line number for these macros change, i.e. adding any line above them, it breaks the generated.h files. Performing the steps in the reset your project lecture fixes it reliably.
What I like to do is go into header file for any new class I create, create 3 or 4 empty lines above the first #include directive and then reset the project. This will create an area where you can add #include lines without breaking the project every time.