Just a point about the engine reset - you don't have to disconnect the battery to do this. I reset mine by opening the door and bonnet, then turning the key (but not starting the engine). You hear a high pitched whine for 30 seconds. And yes I think it does clear all existing fault codes.