get max value occurred within every 10 minute of a day
What about:

SELECT max(SOLAR_ACTIVE_POWER_G_VAL0) AS Solar,
       max(LOAD_ACTIVE_POWER_G_VAL0) AS Load, 
       DATEADD(minute, DATEDIFF(minute, 0, timestamp)/10*10, 0) AS [Minutes] 
FROM pointdb 




WHERE CONVERT(varchar,[timestamp],101) in('03/07/2014') 




WHERE [timestamp] &gt;= '20140307' AND [timestamp] &lt; '20140308'
GROUP BY DATEADD(minute, DATEDIFF(minute, 0, timestamp)/10*10, 0)


The part  

DATEADD(minute, DATEDIFF(minute, 0, timestamp)/10*10, 0)


should round down to the start of the 10 minute period.
If you leave out /10*10, you get it to the nearest 1 minute period.