Whilst all the discussion regarding 'what should be done or what should not be done' is quite valid, the question still remains - Why has it 'suddenly' started to fail? I guess that there are Zillions of Applications out there that might have been written in a style like: 'it works so leave it alone', and may not be following "The Rules" (which can change at Microsoft's whim - and unless you're on top of all the changes you may not realise the implications. Look at the chaos when Microsoft implemented the App.Path 'rules' in Vista (or was it XP).

Understanding what's changed may give OP an idea as to how to resolve the situation and future proof the Application.