My thought would be configuration (not that there haven't been bugs but basic IPSec is pretty stable in my experience).
If you use plain IPSec in tunnel mode you need to ensure that your IPSec policies capture the right traffic (from your local to remote subnet) and your 'NAT bypass' rules are above your masquerade rules as mentioned by feklar. Then that method should work.
If you want a routable interface (until we get VTI) setup a GRE (or any other type but gre can be used with other vendors) tunnel over IPSec. Then you need to ensure you can ping the public IPs;. your GRE tunnel is connected and reachable and that you have appropriate static or dynamic routes defined to send your remote subnet traffic via the tunnel (your subnets Mik on each side would need a route using the GRE interface or remote IP of the GRE tunnel as gateway).
Plain IPSec site to site -
http://wiki.mikrotik.com/wiki/Manual:IP ... Sec_Tunnel
Tunnel over IPSec - This is not my blog post but it looks like a good tutorial for a routable IPSec tunnel.
https://major.io/2015/05/27/adventures- ... k-routers/
Tomas Kirnak has a good mum presentation on VPN
http://mum.mikrotik.com/presentations/HR13/kirnak.pdf
I also found Greg Sowells tutorials to be helpful when learning VPNs on routeros.
http://gregsowell.com/?page_id=951