‘time string’ returns the time in the format set in the user’s Date and Time settings. (System Preferences → Language & Text → Formats → Times.) The result therefore depends on the user’s preference for leading zeros or not and whether he/she uses a 12-hour or 24-hour clock.
If you want to impose a format, it’s easiest to get the ‘time’ of the date and create your own string from it. (Actually, it’s slightly easier to use the date’s ‘hours’, ‘minutes’, and ‘seconds’, but I don’t like them. )
set t to time of (current date)
tell (1000000 + (t div hours) * 10000 + (t mod hours div minutes) * 100 + t mod minutes) as text to ¬
set timeString to text 2 thru 3 & ":" & text 4 thru 5 & ":" & text 6 thru 7
By the way, your query should have been posted on the OS X forum. Code Exchange is for sharing code that you’ve already written.