OK, i figured out the problem
Hopefully this will help someone else.
Problem is caused by trying to create a blind via that spans more than 2 layers, eg via from L1 to L3.
Altium lets you do this and will happily create you a drill pair from L1 to L3
The problem is that the blind via ".TX_" drill outputs files are matched up to drill pairs, not to actual prepreg/cores like you'd expect.
The result is, if you have a drill pair from L1 to L3 you will get a single drill file for this, it doesn't also include that on the L1 to L2 file.
The solution is somewhat obvious when you consider this is a stacked via. You need to create two separate vias and stack them in the same location, one from L1 to L2 and one from L2 to L3.
Then the TX_ output files make sense.
Staked microvias need to be stacked... who knew