Like danimal says, if you can get some info on which code or codes were logged then it should be fairly simple to establish where the problem lies – that’s the whole point of on board diagnostics. The solution may be more elusive but at least you know where to start looking.
It really annoys me when the dealers just reset the lamp and send people on their way without investigating the actual cause. Their general attitude seems to be that the problem is the light being on, not what actually caused it.
EDIT: Just realized that you are in the UK, if you are anywhere near Leicester I can take a look and hook up my OBD scanner.