Wpadłem na to zeszłej nocy. Odkryłem, że FIND_IN_SET działa tutaj:
SELECT * FROM table WHERE FIND_IN_SET(id, @parameter) != 0
...
intArray = new List<int>(){1,2,3,4};
conn.Command.Parameters.AddWithValue("parameter", string.Join(",", intArray));
Najwyraźniej ma to pewne ograniczenia długości (znalazłem Twój post, szukając alternatywnego rozwiązania), ale może to działać dla Ciebie.