Unless you find a baptism for Henry, I suppose we will never know.
On his marriage in 1846, he is ‘full age’ so no help there.
If he was born prior to his mother’s marriage in December 1823, his name would be Spurr regardless of his father's name, I think.
On his marriage, he gives his Mother’s husband’s name as you say. Perhaps he was older than recorded or just chose the vary his surname.
Thank you for your thoughts.
If Henry was Christopher Shepherdson's eldest son (even if born before the marriage), then Henry would have recorded Shepherdson at marriage in 1846, not Spurr.
Henry hung onto the Spurr for all his children, even though he was using Shepherd[-son?] in a business sense. So Spurr was his genetic line, or so he believed.
Therefore I'm placing Henry Spurr's birth between August 1821 (when Robert Spurr is convicted) and December 1823, when his mother remarries and legally changes her surname. So at death in 1861 Henry's aged between 37 - 39 (not 36, as either his wife or half-brother thought).
It must have been a traumatic time in 1821 for Mary Sedgwick/Spurr. Not easy to baptise a child with your husband suddenly gone and the future very uncertain. Maybe Henry wasn't baptised. Maybe Henry wasn't Robert Spurr's son at all...
I still don't know, though, what happened to the other Shepherdsons from the 1841 census, and particularly Henry's mother + stepfather. I'll check out the suggested records for those deaths in Chorlton 1859, and report back.
I'm very grateful for your time and your help :-)