Well, if your bank's internal systems/offices already run Windows, then it is better to use the same platforms for your ATMs too - you can reuse code between the two systems, and you only need one developer team instead of two.
Also, ATM development started way before Linux was a major player and people basically only had MS-DOS or OS/2 as choices - and as banking software develops at the same speed as a glacier moves (and those ATMs tend to grow OLD), you're stuck in a lock-in effect.