This compiles for me (fpc 3.0.0):
What about earlier versions? Now I wonder if I will have to IFDEF the code so the semicolon is only used in pre-3.0 versions of FreePascal?
I happened to have 2.6.2 and 2.6.4 installed and those worked fine too, with and without message, in mode objfpc and delphi with and without has_deprecated (and with the message showing)
Deprecated has been a very long work in progress, with first (skip only) support appearing in some 1.9.x version iirc. Messages is 2.4+ or 2.6+, but there have been bugs with some of these constructs (and this with initializer is a special case).
Testing with older versions is the only way to find out I guess.
I'm not aware of people keeping track of version details for versions older than one major release (because even the most conservative but actively supported Linux distro usually has a newer version by then)