The suggestion was to refer to the default startup file for guidance to see how it sets up the platform. In this case it was
CW_for_MPC55xx_and_MPC56xx_2.7\PowerPC_EABI_Support\Runtime\Src\ __start.c
This file allows for user-level initialization before main(). It defines a function called __init_user(). If the program is in C++, __init_user needs to initialize exceptions and static constructors.
So the default startup file will call __init_user().
The user can complete action of startup.
This function is in the __ppc_eabi_init.c file. Placing an __init_user() function in the __ppc_eabi_init.c file to do specific initialization resolved the problem.
There was probably some problem among the startup code used, the lcf file, and the application. By reverting to the "known good" default startup code and initialization, the problem went away.