The limitation re: 9999:59:59 applied to manual entry not calculation but yes it follows that if you have manually entered a value >= 10000:00:00 then XL can't convert that to time and will display as string.
http://support.microsoft.com/kb/214386
Realistically you need to adjust your data entry - ie enter as days.decimaldays eg for 12000:30:59
against which you can apply the [h]:mm:ss format so displays as 12000:30:59
and you can then calculate off the underlying value which is a numeric value (500.021516...)
If you can't adjust the input strings you're looking at cumbersome formulae, eg:
Bookmarks