The Geoff Marshall map was especially useful - thank you. I have come up with the following 23:
86996 LYC Lympstone Commando
54078 UMB Umberleigh
31072 LEL Lelant
25276 EXN Exton
21854 MRD Morchard Road
21580
DMH▸ Dilton Marsh
19860 YEO Yeoford
15102 DOC Dockyard
8488 LAP Lapford
7648
NTC▸ Newton St Cryes
7090 YET Yetminster
6528 BGL Bugle
6498 KGN Kings Nympton
5230
ROC▸ Roche
3542 SCR St Columb Road
3196 LUX Luxulyan
2642 CNO Chetnole
2468 THO Thornford
2108 CAU Causeland
1586 SKN St Keyne Wishing Well Halt
966 SDP Sandplace
596 PMA Portsmouth Arms
160 CPN Chapleton
Agreed about the 2 which are sometimes-request, and I can add (according to sources) Dockyard to that -
IET▸ operated services always call if shown in the timetable, but others only on request. Only Dockyard and Dilton Marsh are on what I would describe as "main lines" ... I was at Dilton Marsh yesterday and look what came through at 15:33 - the exact time that the potentially-stopping train called. None of the seven of us on the platform tried to flag it down.

As well as the joiners, between 15 and 20 got off - school traffic from Warminster. I then got on with the others waiting and we set off. No ticket check. We stopped at the signal (awaiting a platform?) just prior to Westbury for a couple of minutes and move on and into platform 1 just after an
SWR» service headed south passed us.