My son-in law is a BT customer for both phone and broadband. He can receive BT Sport SD on his Sky HD box but has been told by BT that he has to pay £4.99 for BT Sport HD. Is this correct ?
The HD sport was free if you signed up before it launched. It's now an optional extra, that you have to pay for.
As Ectophile says BT Sport in HD does cost extra. However, the figure of £4.99 your son-in-law was given is incorrect.
BT Sport in SD costs £12, but if you are a BT broadband customer you get a £12 discount (so it's free).
BT Sport in HD costs £3 extra.