Two things, I think.
Yes - but in some situations knowing the length of the data message is a useful advantage and can make the data transfer more robust. It does mean, of course, that you have control of the sender to ensure that the prefix is present. But I guess less useful if your data size is always fixed.
I don't understand this - using InitializePrefix does not limit the usable record size. Mind you it is some time since I have used this mode, but I don't think that it has changed.