Yes they do. That limit is the amount of RAM you have left. You could write millions of entries to a single table without any problems except a huge speed drop as the table gets bigger.
The size that you give to a hashtable when you create it using /hmake is not a size limit, but it is the size at which the table is created. Once you fill up the table it is expanded. This is why adding 10,000 items to a table with 100 as the size wouldn't be very efficient (because instead of just adding data, the table needs to be enlarged and the data is then added).
Sorry about that I forgot to change %i to $1-:
alias loadsongs {
if ($isfile(mp3s.txt)) filter -fk mp3s.txt addtodialog
}
alias addtodialog did -a mp3 1 $replace($duration($calc($mp3($1-).length /1000)),mins,m,secs,s,min,m,sec,s) $chr(9) $gettok($nopath($1-),-1,46)