Why does my Actor need a different constructor than the wizard created ones?

The replacement for [FONT=Lucida Console]ObjectInitializer.CreateDefaultSubobject (probably the most used method of FObjectInitializer) is now the method [FONT=Lucida Console]CreateDefaultSubobject inside the UObject class. This method gets a pointer to the FObjectInitializer from a stack-like structure automatically. As far as I know the explicit way using FObjectInitializer in the constructor is the old way of creating subobjects while the new one is just calling [FONT=Lucida Console]CreateDefaultSubobject. So you don’t need the FObjectInitializer for blueprint types anymore.

Otherwise it could be some preprocessing magic going on here. What linker errors do you get exactly?