IKE fragmentation on the Cisco VPN client 4.0.5.D and above is broken for UDP, and fragmentation at IP level is used instead, IKE fragmentation seems to work correctly for TCP encapsulated IKE packets (which are TCP/500), configuring TCP encapsulation could be used as a workaround. Change that affect the packets going from the main location to the spokes on the port UDP 500. When you enable nat-t you allowed the connection on a different port letting the other routers to be aware of it and try another port for connection.