Your mechanic clearly is not familiar with older Honda products. If you are going to rely on a mechanic for maintenance you might want to find someone who is moderately familiar with the NSX or at least older Hondas.
The tool for reading any stored error codes on an NSX (and other Honda products) with a pre OBDII ECU is a paper clip. Get a copy of the 1991 service manual from the Prime library
As our NSX continues to age, it will become more and more important for member to be able to service their cars. Most Acura dealers no longer employ technicians who are familiar with the NSX, as the original techs are long gone or retired. As...
www.nsxprime.com
In the Fuel and Emissions section starting at page 11-10 you will find a description of the service check connector and the process for retrieving stored error codes by counting the flashes on the CEL. Page 11-12 has a list of the error codes.
The service check connector is stuck up around the top edge of the carpet in the passenger footwell. On some cars it is easy to find and on some cars it is kind of buried in stuff and may require that you pull the top of the carpet back a bit to find it. On my 2000 it was closer to the right side of the footwell and buried behind some other wires.
Unless you have other electrical problems with the car, the codes will not reset when you turn the key off. The codes only reset if you pull the clock fuse (ECU keep alive power) in the main relay box. Certain codes may not cause the CEL to illuminate when you restart; but, they should be stored and should display when you use the service check connector to display the codes. I think the ECU will store up to 3 error codes.
There is an error code if the Vtec oil pressure is insufficeint or the Vtec solenoid has a problem. However, if that occurs I believe the CEL will stay on permanently until the ECU is reset (if your car does not have other electrical problems). If the CEL was coming on and then going off, chances are you were experiencing a misfire. The ECU counts misfire events and if you exceed a certain number in a trip it will then illuminate the CEL continuously. If you do not exceed the threshold the event counting will reset when you turn the ignition off; but, the fact that you got a misfire should be stored in the memory. If the CEL ever starts flashing continuously that means a persistent misfire which may damage the catalytic converters.
Start by using the service check connector to trigger the display of the error codes and see where that takes you and perhaps look around for a different mechanic.