So, if your example data was accurate (in which case I'm assuming VARCHAR data types), try this:
DECLARE @times TABLE (value VARCHAR(11))
INSERT INTO @times (value) VALUES
('01:02:01:30'),('00:23:28:10'),('00:01:01:50'),('00:06:50:30'),('00:00:01:50')
SELECT --
RIGHT('000' + CAST(SUM(CAST(LEFT(value,2) AS INT)) + CAST(ROUND(SUM((DATEDIFF(SECOND,'1900-01-01',CAST(RIGHT(value,8) AS TIME)) / 86400.0)),0) AS INT) AS VARCHAR),3) + ':' +
RIGHT( '00' + CAST(SUM((DATEDIFF(SECOND,'1900-01-01',CAST(RIGHT(value,8) AS TIME)) % 86400)) / 3600 AS VARCHAR),2) + ':' +
RIGHT( '00' + CAST(SUM((DATEDIFF(SECOND,'1900-01-01',CAST(RIGHT(value,8) AS TIME)) % 3600) ) / 60 AS VARCHAR),2) + ':' +
RIGHT( '00' + CAST(SUM((DATEDIFF(SECOND,'1900-01-01',CAST(RIGHT(value,8) AS TIME)) % 60) ) AS VARCHAR),2) AS timeString
FROM @times