The duration field is held locally in a file called rhythmdb.xml
found in ~/.local/share/rhythmbox
It is not updated if you just play a track.
To force rhythmbox to re-read the track and update rhythmdb.xml you need to ensure rhythmbox is watching for new or changed files:
Restart rhythmbox and rhythmbox should after a while update the track information being displayed.
You can also force a update by changing the timestamp of the audio track
cd ~/Music/youralbum
touch *.mp3
If after the above it still doesnt recognise the duration change then this is actually a gstreamer bug/or a bug in mp3wrap. Gstreamer is the library that actually reads/writes audio tracks - not rhythmbox itself.
Gstreamer is dependent on reading the ID3 info - if its not in the expected location then it will only pick out the information it can find.