Yes, I think all those sentences are basically correct, but I would add that they sound uncommon to me. You would probably hear (or read) instead:
Il a refusé de venir avec nous, sous prétexte que le billet est trop cher.
sous prétexte implies that the person said something, as an excuse, so it should be pretty close to the original en disant.
Also - I find en disant in your examples a bit ambiguous, in the sense that I can oscillate between a meaning like "while he was saying" and "having said". Or maybe that he said the ticket was too expensive, and in the same conversation, refused to come. Actually, this meaning might be stronger in (d), which is a bit of a drift from (a) and (b).
Other examples that sound good to me:
Venant d'Australie, il n'avait jamais vu la Tour Eiffel.
En venant d'Australie, il a fait un stop en Afrique du Sud (note the difference - this is not a reason).
Etant ivre, il a eu un accident de voiture.
En agissant sans autorisation, il a fait une erreur.
I'm noticing I have a tendency to use forms like your (c) and (d), so that the reason comes first.