GetTraceValue actually returns the requested value for the CurrentTrace. So, I believe that what's happening is that the current trace on your trend has only 26 values and you are getting an exception when trying to access the 27th value (which actually does not exist).
If you want to iterate through the traces on the trend, you may want to use something like the code below. In this example, you would get successive message boxes with the value of the last value of each trace defined in the trend.
Dim i As Integer
Dim tvc As Integer
Dim dt As Date
Dim st As Integer
For i = 1 To Trend1.TraceCount
Trend1.CurrentTrace = i
tvc = Trend1.TraceValuesCount
MsgBox ("Last value of trace " & CStr(i) & " is " & CStr(Trend1.GetTraceValue(tvc, dt, st)))
Thanks for the clarification. My code is similar to that except I was using the counter variable 'i' where you are using 'tvc'. No errors now!