Had the same problem with a BP, which was a child of a C++ Class. Using “Add call to parent function” in the BP did not work for me, but removing the “BeginPlay” from C++ and only using it in the BP worked.
Edit: It seems like the C++ Method just needs to call Super::BeginPlay() for it to work without problems.
Now the C++ Method + the BPs “BeginPlay” gets called correctly:
void AResourceDeposit::BeginPlay()
{
Super::BeginPlay();
currentResourceAmount = maxResourceAmount;
UpdateAllowHarvesting(allowHarvesting);
}