You don't state WHY you need to heat the water and having it continue to heat for a long time ?
If we understood the final use it might be easier to give advice
just a few things off the top of my head
Sand doesn't "accept heat" or give it up very quickly = it is not a good conductor of heat.
sand has a large amount of AIR between the particles. You can get a"feel" for this by putting 1 cup of sand into a kitchen measuring jug and then seeing how much water you can also get in there until the water level reaches the top of the sand.
Air is a good insulator especially when trapped in small spaces = foam type insulation and rock wool etc get their insulation from trapped gases or air respectively.
Think of a solid like a rock (which conducts heat well) now mash it up into sand and it becomes an insulator.
Another example: if you have ever tried to walk bare foot on sand during a hot sunny day your feet will get burnt. Flick off the top 1/2 inch and its not even uncomfortable = poor conduction
why not just capture the heat from the fire into the water and keep it simple (KISS) principle. Water stores allot of heat (high specific heat) then you have a compact store of heat you can use anyway you like to over time for any purpose. water filled radiators on walls for radiant and convective heating, water to air radiator with fan to heat air etc etc