I have sometimes this problem:
The engine coughs for a long time before starting ...
I don't understand why, because, sometimes, with the same cold weather and cold engine, it starts very fast. How can that starting time vary so much ?
The problem could be that the glow plug relay is going out. If it is intermittent, the glow plugs will heat sometimes and other times not. I don't know if this is a known issue with BMW diesels, but it is plausible this is your issue.