There are likely a number of possible solutions for this - here's mine.
I'd break it down to trap hours (if you have that), minutes and seconds. Trap each one as a numeric field, DurationHours, DurationMinutes, DurationSeconds. Then build a calculated character field named Duration:
[font="courier"]Str(DurationHours) + ":" + Str(DurationMinutes) + ":" +Str(DurationSeconds) /font[/quote]Should you need an overall total you can total the numeric pieces and do some math to derive the total.
Does that work OK for you?