Couple of comments (Im no expert C#, but program in it professionally):
1) Why are you using datetime as your counter? Why not a true high speed counter like the System.Diagnostics.StopWatch class?
2) WHere is the implementation of your new data type? It might help to understand where this performance is coming from.
3) I think native data types can be made to work fine if you know the performance associated with them. Just like you wouldn't indiscriminantly use a long where you could use an int, using a dictionary where you might be able to create a more applicable hashtable might be the way to go.
I dont think there is a single object you can point to that is optimal for every situation, you have to know about the problem at hand and choose the right solution? Do you need fast insertion? fast retrieval? etc. Just look at List<T>
I am very skeptical of some of these results. I have a hard time believing that there is a routine that can find a value out of a 1M list with 0 response time (that doesn't have a huge drawback somewhere else)
4) Making graphs in excel. Please use titles, axes, units. Its a huge PITA to filter through a mess of charts that don't have any of that.