However, I still cannot get Ultibo to run on my RPi3 ... 
Compiled the RPi2 hello world example.
For sanity checking I just tried the process myself, installed using Ultibo installer, updated to latest code from GitHub, rebuilt the RTL and compiled the Hello World example.
Surprise, surprise I get a colorful screen as well

However the fix is simple, the example is missing one unit from the uses clause.
Simply add the BCM2709 unit so it looks like this instead:
uses
GlobalConst,
GlobalTypes,
Threads,
Console,
Framebuffer,
BCM2836,
BCM2709; //This one is missing from the example!
Compile again and everything should work correctly. The BCM2709 unit provides the core drivers for the RPi2/3 including the Framebuffer driver, in the original release the framebuffer was always included by a define to ensure something always showed on screen. This define was removed in a recent commit so that console and framebuffer can be optional now.
For completeness your SD card should contain the following files in the root directory:
bootcode.bin
fixup.dat
start.elf
kernel7.img
There can be others but these 4 are required, the SD should be FAT formatted.
Some other examples are also possibly missing the BCM2709 unit (BCM2708 for RPi1) so I'll check them all and push an update to GitHub.
Please let me know how you go, thanks.