[Crash] Cant Override Movement Component Twice, for a 2nd Character subclass, C++

Reading more closely your attempted workaround is the correct behavior. Because your CharBase class assumes it will have the first subclass of CharMovementComponent any subsequent subclasses must not break that assumption. Having parallel hierarchies of ACharacter->CharBase->NewChar and UCharacterMovementComponent->first subclass->second subclass is what will be required.

I can only imagine/hope the lock up was random and not related to this inheritance.