Hi Marius,
I can't really say that the route table will work. One way I used for testing is via Ping or netcat without any local parameters. The choosing of the local address and port is left to the kernel, the same as kamailio with mhomed, so if you can find a suitable routeing table where only the ucarp interfaces are selected then you are ok. Why don't you listen also on 192.168.1.99/192.168.2.99 ?
When kamailio transmits the messages it will substitute (by default) the outbound interface ip address for its route/via headers. If I enable kamailio to listen on all addresses then kamailio sends the messages with source address of .99. I need the source address and routing headers to contain the floating address (.100), this is also for NAT traversal on the "public" address of the proxy.