Yoghurt will (usually) curdle is you heat, but you can stabilize it by adding something floury. Use cornflour if you want a flavorless stabilizer. Lots of indian recipes use besan (chickpea/garbanzo bean flour) as a stabilizer for yoghurt 'curries', but this does have a (very nice!) flavour of its own. Simply mix some (like a teaspoonful) with a little bit of yoghurt to make a thin paste, then stir it into the rest of the yoghurt simmering in the pan. Also make sure that the heat is low (you just want things to heat, not boil), and you stir in one direction only: both of these things helps stop the curdling.
BTW, do you mind me asking what you don't like about coconut milk? If its the consistency, then try using different brands: there is a huge difference between different tinned coconut milk I've tried. Or try coconut cream (which you get in a block and then grate into hot water). I think vegan soy cream would also be a better bet for a creamy curry then yoghurt.