Hello
1) The ULINK2 operates in CMSIS-DAP mode by default - there is also a ULINK mode that needed except for older versions of uVision: See ULINK2 User's Guide: Boot Mode Utility
2) This means you can normally select either CMSIS-DAP or ULINK2/ME Cortex Debugger in uVision in the Debug tab.
There is one difference: selecting CMSIS-DAP instead of ULINK2/ME in the Debug tab, you will not be able to use Serial Wire Viewer (SWV). This is an interesting data trace feature. See www.keil.com/appnotes/docs/apnt_295.asp Look at pages 17 through 20 for what you can use. there is a printf utility tat doesn't use a UART.
3) In this window shown here:
Normally Use Debug Driver is selected. When selected it uses the debug adapter specified in the Debug tab instead of being specified as shown above in the Utilities tab. This change was done because many people asked why they needed to specify their debug adapter in both Debug and Utilities tab. This solves that question and is backwards compatible to the old way of dual specifying.
4) If you have a ULINK2 or ULINK-ME - use ULKIN2/ME Cortex Debugger instead of CMSIS-DAP mode especially if you want SWV. If you do not, I don't think it matters which you choose: CMSIS-DAP works essentially the same.
5) In Settings in Configure Flash Menu Command - make sure a valid flash programming algorithm is selected.
6) For LPC1768, try selecting RESET as shown instead of Autodetect as shown in one of the screens above.
7) You can also try and select Verify Code Download and unselect Download to Flash: This an 6) are default for the LPC1768 Keil MCB1700 board.

I use a LPC1768 board for my demos and I have never had any flash programming errors unless there were errors in the compilation process and no .axf executable is created.
Bob
ARM/Keil