I've used Sipgate UK with an OBi110 in the past and had Caller ID working OK. Cannot comment on the delay as I didn't have the mobile route to make the comparison.
Login to the OBi's onboard web interface and click on Status, then on Call History. Does it show the CallerID of incoming calls?
If yes, but it does not get to the phone then you probably need to change two settings under Physical Interfaces, Phone Port, Port Settings. For CallerIDMethod try FSK(V.23) and for CallerIDTrigger try Before First Ring.
How you make those two changes depend on whether you configure your 110 using the onboard web interface or the Obitalk portal. If the latter you need to go into Expert mode.