At first I thought it might have been due to a worn out cassette; upon visual inspection, the cassette looked fine.
After a check of my riding records, I realised the chain had done about 1,600 miles and the cassette twice that; but a quick length check on the chain revealed little wear.
I then looked at the rear derailer from the back, and discovered the derailer cage was pointing inward, towards the wheel spokes. I had noticed this a long time before, and back at the time, I replaced the derailer hanger, but that made no difference.
I concluded a worn out derailer was to blame: no indexing attempt seemed to fix the shifting, especially between cogs 4, 5 and 6.
I bought a new chain and a new derailer from ChainReactionCycles.com. Replacing the chain regularly is good practice to ensure reduced wear on cassette and cranks. At 10 GBP for a KMC 8-speed chain with missing-link, it seemed a reasonable expence to face after 6 months riding.
The derailer, upon inspection, seemed to be slightly worn out too, and certainly had seen better days. The new Shimano Acera 8-speed rear derailer looked a worthy replacement for the old Shimano Tourney.
I began removing the old chain and derailer.
Then I removed the rear wheel from the frame to clean the cassette, and that's when I realised the cassette lock nut was not fully tightened and a couple of cogs were loose!
This was the reason behind the inconsistent shifting, and explained why any indexing correction was never lasting longer than a few miles, and why this was getting worse and worse with every passing day.
Unfortunately, I realised this too late. As I had forgotten my cassette tool in the office, I needed to borrow such tool. The guys at Cycles UK in Orpington quickly got it tightened for me for free.
After fitting the new chain and derailer, while I was tensing the gear cable inner wire, the wire snapped from the shifter!
The wire must have rusted near the insertion point and eventually broke off.
Luckily this happened while I was fixing the bike and I had all the tools with me. A second trip to the local Cycles UK shop and 2.99 GBP later, I had a brand new gear inner wire and was able to replace the old one.
This involved opening the 7-speed Shimano shifter and fitting the new wire in place of the old one.
Within minutes I was able to index the new derailer.
A quick test ride later, I was very happy with the new setup and the new derailer provides crisper changes than the old one ever did even after fitting a new cassette and chain.
So even though the extra expense was not necessary, in the end it was all worth it.
I just wish that I had noticed the loose cassette sooner!