I'm sure the 747-200 had more differences than just the engines to the 744. I'm 99% sure the 742 couldn't operate LHR-SIN nonstop with a decent payload.
I think having so many stops was a combination of a few factors:
-Lack of range to simply fly LHR-NRT-AKL (NRT is the most major airport close to the Great Circle route)
-Less competition back then (no EK/QR etc), so having more stops wasn't a competitive problem
-Added feed/options. BA9 wasn't simply offering A to B, but A-B, A-C, A-D, A-E, B-C, C-D, D-E etc. It's basically serving multiple markets with just one aircraft/flight number
-As a result of the above, BA might be making more money. It's a well known fact that NZ 1 (AKL-LAX-LHR) yields more for NZ when people just book AKL-LAX or LAX-LHR than if they book AKL-LHR. They don't want people flying all the way through. They want the plane full of people coming/going to LAX.
Whilst the 747 was designed to (capable of) fly long distances, it's not necessarily true that they are uneconomic on short hops. Case in point, CX now only regularly use the 744 on one route, HKG-HND, which is only ~4 hours. JL and NH ordered the "domestic" 747-400 variant, which was fitted with nearly 600 seats, which only flew 1-2 hour sectors in Japan. Nowadays, just swap "747" with "777" and you'll see many many airlines operating this plane on short hops. To this day, BA still operate large planes on short hops e.g. AUH-MCT & BAH-DOH. Why? Cos' it makes money!