The server that is providing DHCP addresses is also telling the clients to use itself for DNS. If it doesn't have an entry for the virtual domain pointing to the second machine the clients won't be able to find it.
Try adding the second virtual domain and the second machine's IP address in the server which provides DHCP to the clients (ie, server-manager -> Hostnames and addresses -> create a new hostname for a local host).
This is a shortcoming of the SME server software. It should be possible to have additional SME servers act as secondary DNS servers so that all DNS information only has to be entered in one server.
It would also be convenient if an SME server could get its internal IP address via DHCP.
Both of these items are possible with linux, its just a question of someone adding it to the server-manager. Maybe someday when I have some spare time...
Chris