if leak on engine is coolant, then your water level being low could be the cause of heater not working [you dont say if its the fan not working or not getting hot!]
k, October 2009
The heater is controlled by an electrical valve and they always give problems....the engine leak is probably from a coolant hose and needs sorting asap.