It is possible to run the internal monitor and your code internal. You need to ensure your code and the monitor do not step on each other. In the following directory you will find a readme.txt that details the location of the various monitors: C:\Cypress\USB\Target\Monitor
For example, mon-int-sio0.hex loads at 0x0000-0x1075. You will need to ensure your code is not placed in the same location. You can do this via the Keil tools as follows:
Ensure Target 1 is selected in the Project Window
Select Project from the top menu
Select Options for Target 'Target 1' from the drop down menu
Select the BL51 locate tab
Use the code and xdata boxes to place your code so it is not in the same location as the monitor.