I say go for the 147. I would if I had that budget but would be ready for spending a bit on sorting any niggles/faults. Just a quick look on AutoTrader, cars starting at £2,600 for a 2001 1.6 TS Lusso 3dr. Loads of 147's for around £3,000 - £3,500 as I am sure you have seen. £2,800 for 2001 with 62,250 miles on - money left to sort any probs.
Problems with 147's seem to strike at any time/mileage (unless badly serviced/not looked after). I suppose if he avoids the Selespeed, that removes many potential issues (I had to buy a Selespeed as my wife only drives Autos otherwise I would not have).
The BMW will mean he will never get let out into traffic i.e. from a side street - ever! A friend of mine had a 318i and it had a drink problem which seems to be what dealers call 'a characteristic of the model'.
I dare say he will get cained for the privilage of insurance on the 147 though!