a lashing for buying an old beemer.
Only because we've all got experience of exactly that - there is a wonderful 2001 530i parked outside which I absolutely love and which I will try and treasure for ever but it became a tedious annoyance to run as a daily driver. These are old cars now - if they were Ford's or Vauxhall's they'd be £500 bangers with no expectations but because it says BMW on it people wade into purchasing them for ridiculous amounts of money* and expect everything to be dandy.
* Yes, ridiculous amounts of money. I don't care what they are up for on Autotrader or what other people who don't think before buying are prepared to pay for them but £3000 for a 14 year old E46 SE is just absolutely bonkers. It is not 'like new' as you so confidently professed before, it was never going to be 'like new', the only 14 year old cars that are 'like new' are those weird garage queens with 200 miles on. It's an old BMW - a lovely car, no doubt, but an old BMW it remains and you will spend most of your ownership chasing niggles - the only surprise here is that it's begun so soon after purchase.
You bought it within 2 hours of deciding you wanted a car - how you could possibly have learnt enough to purchase a car like this in that short time I've no idea - and to not even take it for a proper test drive strikes me as madness. Heck the cheaper the car the MORE IMPORTANT a proper test drive is! The only car I've ever not bothered to test drive properly was the most expensive one I'd ever bought (And guess what, it took all of the drive home to realise I hated it, moral in that story).
If you have an opportunity to use any rights you might have to convince the dealer to take it back, do so. Then spend your £3k on something else. Or if you really want a 14 year old SE E46, buy one for £1500 and use the other £1500 to fix all the irritating foibles.
This dealer has paid 1200 quid max for this car, he has significant margin in it to allow for just this sort of eventuality.