Don't have a workaround to add, but you might want to use FilterValues instead of PatternCount. It looks to me that your current expressions won't work if MyKey is the last value in the value list as it won't have a trailing ¶.
I will add a training ¶ in my calculation for good weight but this is not the reason of the error.
PatternCount (ValueListItems ( Get ( FileName ) ; "key" ) & "¶" ; "mykey¶")) should fix that other issue right!?
I agree that it's not the reason for the error. Just spotted another potential problem for you to be aware of.
I use this expression: Not IsEmpty ( FilterValues ( ValueListItems ( Get ( FileName ) ; "key" ) ; "mykey"))
This not only avoids issues with ¶, but avoids errors due to partial text matching--such as if you used "Apple" and one of the values was "Applesauce".