From my experience, when a starter goes bad, it usually doesn't just "die".
It dies by turning over slower - and slower - over a long period of time - until it doesn't turn the engine fast enough to start anymore.
Replacing starters is common on the BMW M57 diesels (3.0L, straight 6, compression ratio 18:1), especially during the winter over here. It's always the same story, the starter gets bad over such a long period of time that you don't even notice how slow the starter spins even if you're an enthusiast and have a "motor ear". Suddenly the car won't start, so first instinct is to go get a new battey - car starts again - for a couple of days until it won't again.
Then you replace the starter and it's insane how fast the new starter spins compared to the old worn out one - engine starts immediately when you push the button.
Who knows how old your current starter is Alan? Maybe it was worn even before the compression got upped and with new tight tolerances in a fresh engine?
Letting it sit several years isn't helping the starter either.
You've checked the cables, connections, grounds and batteries earlier in this thread. The engine spins with sparkplugs removed, and the pistons doesn't hit the plugs.
Common sense says it's the starter.