What is the maximum length of the string of values that a multi-select picklist can return? If the picklist items can be up to 40 characters and users can select 100 of them, that implies that you could get 4100 character returned if the semi-colons are the only extra characters added. I'd love to find the actual documentation that provides the spec.
The actual byte length of the field remains at 4099 because they don't need a semicolon to delimit the last value.
Interestingly the picklist values are enumerated and those keys are used for comparisons internally. Eg
Sunday;Monday;Tuesday get written away under the covers as something like
0AAK0AAL0AAM, so I wouldn't read too much into the field length ;)