Yup so I double checked again today, no opcache installed at all, and I uninstalled data mining for statistics module and then re-installed it, now the back office is calling for this module to be updated. In the back office its showing version 2.0.3 however the files itself is version 2.0.4. So clearly the modules are updating, but its not reading the correct module version of whats installed.
I am not 100% sure how it works, however I had a look on the database in the modules table and i see statsdata module showing 2.0.4 which is indeed the latest version. So in the database I manually changed it to 2.0.3 and then ran the module update again, never changed it in the database at all and module still shows it needs to be updated, however files reflect the correct version
I then went and changed the version number in the statsdata.php to an old version number and then ran the module update again, the version number was updated again, yet the back-office shows the incorrect version number.
Now here is where it got very interesting. I deleted everything inside that module folder except the stasdata.php, ran the module update, it re-downloaded everything and then for the first time showed 2.0.4 in the back office I also looked in the database and it updated there correctly as well. So this means there is something in the module folder that was not updating. So I looked at the next module giving me the same issues, which was the html block module. so I looked at tbhtmlblock.php and it showed the correct version number, however the config.xml file showed what my back office was showing. I delete that file, ran the module update and voila, it updates perfectly.
So somehow the back office was reading this xml file but when updating it was not updating this file at all. No idea why, however after deleting the file, running the update, it worked perfectly.
As a final test I changed the config.xml module version back to an old number, ran the module update and we are back to the first problem. So at the core of it all, this config.xml file is not being updated at all. his is causing all the headaches we are experiencing
I hope this helps someone struggling with the issue. You are not going mad, your system is kinda broken, but finally figured out a short term fix. We just need to figure out why this is not updating the xml file