Apparently, I have at least found the answer for question #2 - the "good reason" to disable compression on .vhd files is because it is broken beyond repair for common NTFS volumes:
A blog post on VHDs and Hyper-V states
VHDs cannot be mounted within a compressed folder in Windows Server 2008 R2. This was possible in Hyper-V role in Windows Server 2008, but this capability was explicitly blocked in the Hyper-V role in Windows Server 2008 R2 since the compressed file size limit is relatively small. A dynamically expandable VHD can easily outgrow that limit and get corrupted.
while the MSDN library explicitly mentions it as a file system limitation:
If you compress a file that is larger than 30 gigabytes, the compression may not succeed.
and KB967351 (A heavily fragmented file in an NTFS volume may not grow beyond a certain size) states that
When a file is very fragmented, NTFS uses more space to save the
description of the allocations that is associated with the fragments.
The allocation information is stored in one or more file records. When
the allocation information is stored in multiple file records, another
structure, known as the ATTRIBUTE_LIST, stores information about those
file records. The number of ATTRIBUTE_LIST_ENTRY structures that the
file can have is limited.
We cannot give an exact file size limit for a compressed or a highly
fragmented file. An estimate would depend on using certain average
sizes to describe the structures. These, in turn, determine how many
structures fit in other structures. If the level of fragmentation is
high, the limit is reached earlier. When this limit is reached, you
receive the following error message:
STATUS_FILE_SYSTEM_LIMITATION The requested operation could not be
completed due to a file system limitation[...]
Compressed files are more likely to reach the limit because of the way
the files are stored on disk. Compressed files require more extents to
describe their layout. Also, decompressing and compressing a file
increases fragmentation significantly. The limit can be reached when
write operations occur to an already compressed chunk location. The
limit can also be reached by a sparse file. This size limit is usually
between 40 gigabytes (GB) and 90 GB for a very fragmented file.
The hotfix accompanying KB967351 is meant to add support for something it is calling "large File Record Segment (FRS)". Format.exe is getting a new parameter
/L to enable this for a newly created file system. Format.exe included in Server 2012 already has
/L, just as the
Format-Volume cmdlet has the
-UseLargeFRS parameter. I wonder if Server Backup in 2012 allows for compressed VHDs by default.