Putting the following in the Initialisation field of a soldier:
this addEventHandler ["killed",{this setdammage 0}]; this addEventHandler ["Hit",{this setdammage 0}]
Seems to work. He even survives a satchel charge exploded under his feet - once he has landed that is!! It is very strange to watch.
Thanks everybody