Actually, you don't need the source code. Check out the attached solution. It is a wrapper around the OpenTick plugin that filters out bars that aren't in market hours when you request historical data.
If you don't have Visual Studio 2008 then the solution probably won't open up. But all you need to do is create a new solution, add references to Common.dll and OpenTickPlugin.dll, and add the code from the .cs file.
Basically this plugin works by creating an instance of the OpenTick plugin and then forwarding most method calls to the inner plugin. In the RetrieveData method, however, it creates a new list of bars with only the bars from market hours. There is commented out code in the TickListener property which shows how you could filter out live ticks if you wanted, too. Some of the other calls such as id() and the service name and description either don't call the inner plugin or modify the return value first.
Let us know if you have any questions. I think you will find this technique useful.