Setting $FilesFound to 'Y' or 'N' isn't doing what you seem to expect it to. Logical tests of $FilesFound will always be true. Use 0 and 1 instead.
You're going to run into trouble the first time you hit an album name that has quotes in it. You can avoid this by using bind variables in your SQL queries, and pass the actual arguments to prepare(). Let MySQL do the quoting for you.
Setting RaiseError=1 when you connect might save you some SQL debugging grief.
A slight stylistic nit. return isn't a function call. I find it clearer to write
return @returnlist;
than to write
return(@returnlist);
which, on a quick skim, is easy to miss if one is focusing on control flow. This is a point on which reasonable people disagree.