PI trends I believe (was told long time ago but can't find the emails) use the plot values method to retrieve data for PI Points that appear as traces. Used to be an API call plot_values that is available in PISDK as PIData.PlotValues. To quote the PISDK manual:
The PlotValues method is designed to return a set of values over a time period that will produce the most accurate plot while minimizing the amount of data returned. The caller specifies a time range and a number of intervals. For each interval, the data available is examined and significant values are returned. Each interval can produce up to 5 values if they are unique, the value at the beginning of the interval, the value at the end of the interval, the highest value, the lowest value and at most one exceptional point (digital state).
So in my view you are along the right tracks if you want all data for a PI Point over the PI Trend range of time, use PISDK methods to do so. Iterating the trace values will only give you the values from the plotvalues method.
Hope this helps and OSI clarify.
I am under the impression that PI Trend using PlotValues as well, except when the PI Trend is configured with Markers on, which forces it to use RecordedValues to reflect the archived events on the trend.
Hence, I agree with Rhys that getting all data for the PIPoint for the trend timerange would be a better idea, compared to getting a subset of significant values that are used for trend plotting.