Didn't realize that this was for reporting services until I was posting. Maybe this T-SQL code might give you an idea.
DECLARE @Seconds int = -223
SELECT CASE WHEN @Seconds < 0 THEN '-' ELSE '' END +
RIGHT( '0' + CAST( ABS( @Seconds / 3600) AS VARCHAR(2)), 2) + ':' +
RIGHT( '0' + CAST( ABS( (@Seconds % 3600) / 60) AS VARCHAR(2)), 2) + ':' +
RIGHT( '0' + CAST( ABS( (@Seconds % 3600) % 60) AS VARCHAR(2)), 2)