More and more this looks like a timing issue of some sort... that the object you're trying to execute "ClickItem" against is not ready to be clicked. The page is not loaded or the object is not refreshed or something. Can you post the full code from your test leading up to your attempt to use "ClickItem"? I'd like to see what's being called, how it's being called, etc. Web pages are trickey, sometimes... you have to remember that, when you are manually doing things, you take your cues from the screen as to when something is ready to be interacted with. TestComplete needs to be told to be similarly "smart" about things... there are "Wait" methods that you should call at various points in your test that are not necessarily part of initial recording. And, if you're manually writing code, you need to make sure you add them manually.
So... share your code and we'll take a look and see what can be improved... basically, everything you've described is symptomatic of attempting to operate on a control that has not been fully loaded/rendered/refreshed by the browser... So, we need to fix that... it's not a problem with ClickItem specifically....
To anticipate your question as to why it suddenly stopped working.... browsers update, browsers change, AUT's change, database servers change, etc... and not always under our control. So... let's start with what we DO have control over, that being how the automation code detects when to move on to the next operation.