Well....all is (edit )now well again.
When I created a new pilot, there were some changes. I now no longer have the old 'Subach and Prometheus' combo. The display on the HUD has no weapons on the primaries, and just the missiles on the secondaries. No primary fire at all.
The problem seems to be with the ship table bit...since the weapon shows up just fine in the Tech Room.
All the weapon bit is pasted in between the Subach Dogfight version, and the Mekhu data. It is copied exactly from Darth Dysko's code. The ship table stuff is stuffed into the Ulysses. It looks like this:
$Allowed PBanks: ( "GAU-73 Annihilator" )
$Allowed Dogfight PBanks: ( "GAU-73 Annihilator" )
$Default PBanks: ( "GAU-73 Annihilator" )
$PBank Capacity: ( 25 )
$Allowed SBanks: ( "Rockeye" "Tempest" "Hornet" "Tornado" "Hornet#Weak" "Harpoon" "Harpoon#Weak" "EMP Adv." "TAG-A" )
$Allowed Dogfight SBanks: ( "Tempest D" "Hornet D" "Harpoon D" "Rockeye" )
$Default SBanks: ( "Harpoon" )
$SBank Capacity: ( 40 )
a bit further down we have added:
$Flags: ( "player_ship" "default_player_ship" "fighter" "in tech database" "ballistic primaries" )
All the rest is stock and unchanged. This should have given me a Ulysses that fired the ballistic primary weapons. Instead..it gives me a ship that fires no primary weapons at all and only has harpoon missiles. Trying to change the loadout doesn't work, since there are no valid weapons for those slots.

so...after a cup of tea and a bit of a think, I made a brand new mission. Exactly the same as the one before...but new. The weapon now works!
Would love to know why.... but the main thing is...IT WORKS!