is there a size limit on Pascal's sets, if so, then why?
The upper limit on set size is arbitrary, in the sense that you can implement sets of any size by designing the compiler accordingly.
Presumably the upper limit of 256 elements was chosen on grounds of practicality. It is a classic tradeoff between size and speed.
Given that the native integer size on commonly available 64-bit hardware is 8 bytes, a multiple of 8 bytes (or 64 elements) is clearly a sensible choice.
A maximum set size four times the native integer size still allows for pretty fast processing and covers all common use cases (allowing for up to 256 elements).
Where more than 256 set elements are needed, you just have to code the TLargeSet routines yourself, and not rely on the code already written and debugged by the compiler developers.
Perhaps the upper limit was chosen at a time when hardware was commonly 32-bit or even 16-bit. But similar considerations would have applied.
But as taazz points out, who regularly needs such large sets? Probably only people who are heavily into mathematical stuff, people who are well able to code what they need anyway.
If you're dealing with more than 256 elements you're probably interested in more than a simple boolean flag associated with each element, and you're verging on needing a proper database.