instead of copy features you'll probably want to use featureClass to featureClass. it looks like copy features requires that the feature class be in existence.
import arcpy
import os
folder = r'C:\Your Desired Output Path'
rows = arcpy.SearchCursor(lyr)
list = []
nullList = ['',' ','None']
for row in rows:
mesoID = str(row.getValue('MESO_ID'))
if mesoID not in nullList:
list.append(mesoID)
del row
del rows
for item in list:
item = ''.join(["'",item,"'"])
query = ''.join(['\"MESO_ID\" = ',item])
arcpy.FeatureClassToFeatureClass_conversion (lyr,folder, ''.join([item.strip("'"), '.shp']), query,'','')