"Bare-board" project assumes the board is "bare" (does not have any initialization software), connected to CodeWarrior via debugger connection, used to debug the project. In case of U-boot, the board is not "bare", because some board initialization steps are done already by U-boot. The U-boot may be used to run binary application, however. The most probable reason, why application may crash - is an access to invalid memory location. For example, your application expects CCSR memory space has one offset, but this offset was changed by U-boot. This result to bus error when trying to access memory-mapped device register.
For example, the following topic discusses similar issue:
https://community.nxp.com/thread/448107