Whenever Unicode changes the preferred name for a property or property value, the old alias is maintained. It is strongly recommended that all programs (and other standards) accept all of the aliases as equivalent.
The full list of aliases are found in:
http://unicode.org/Public/UNIDATA/PropertyAliases.txthttp://unicode.org/Public/UNIDATA/PropertyValueAliases.txt(The above links are to the latest versions of these files; there are also specific versioned files for Unicode 6.0.0, 5.2.0, ...)
So for the block property, if you look at
http://unicode.org/Public/UNIDATA/Prope ... liases.txt, you'll find under Block (blk) the following three cases where there are multiple names for a block:
blk; n/a ; Arabic_Presentation_Forms_A ; Arabic_Presentation_Forms-A
blk; n/a ; Basic_Latin ; ASCII
blk; n/a ; Greek_And_Coptic ; Greek
If a new Unicode version rolls around, when you update your software, you simply make a diff between the new and old versions of these alias files and you support any new names for existing blocks.
To find the ranges for new blocks, check
http://unicode.org/Public/UNIDATA/Blocks.txt(Thanks to Mark Davis for much of this info).