Make sure that your time specifications start with hours.
To cite the ffmpeg man page:
position may be either in seconds or in "hh:mm:ss[.xxx]" form
That means that when you choose the 2nd syntax only the .xxx part is optional. Else ffmpeg might mis-parse it as seconds.
Same goes for duration:
duration may be a number in seconds, or in "hh:mm:ss[.xxx]"
Another pitfall is the ordering of ffmpeg arguments (e.g. the -ss/-t options for an input file have to come before the -i option).
Example
$ wget http://traffic.libsyn.com/twiv/TWiV179.mp3
$ ffmpeg -ss 1:05:59.3 -t 00:02:03.9 -i TWiV179.mp3 -acodec copy \
what_is_a_hmm_twiv179.mp3
With the specification -ss 1:05:59.3 -t 2:03.9 you would get a different result (i.e. a 2 second long piece).
(Tested on Fedora 17 with ffmpeg version 0.10.7.)