How to properly esca‌​pe spaces in the res‌​ults of mdfind to use them in a for loop
I just solved a similar problem as I was trying to iterate over mdfind's results of an image search.
counter=0
mdfind image -onlyin $1 | while read line; do 
    ((counter = counter + 1))
    echo &quot;$counter: $line&quot;
done
exit

So adapting that to your problem, this should work:
mdfind -onlyin $MusicSamples 'kMDItemAudioBitRate &gt;= &quot;44000&quot; &amp;&amp; _kMDItemUserTags = &quot;Sample&quot;' | while read File
do
    ln -s $File $DrumFoldr
done