Ensure you are using 'Compile target', not 'Compile to .bin file', unless you've set the correct board in Options->Targetless->Board Selection.
I believe the BL4S160 should automatically handle the startup mode pins (SMODE0 and SMODE2), based on the programming cable. Yet, running only in debug mode would be a symptom of a SMODE pin stuck asserted. Some Rabbit development boards have a jumper for this. You might check for a jumper and also ensure you aren't using an IO pin designated for SMODE pins.
As the others have said, trying demo code is a good way to rule out simple code bugs. Aside from memory being laid out differently, running in debug mode may hide some timing related bugs by simply slowing down processing. It is more common than you might expect.