--- Quote Start ---
I generally find the most difficult part with hold time is that the default hold relationship follows the setup relationship, so if you add a multicycle -setup, the default hold relationship changes. That's usually the biggest stumbling block.
--- Quote End ---
I think that as direct consequence of internal definitions used by tool i.e.
Setup Check (SC) = current latch – previous launch
Hold Check1 (HC1) = current launch – previous latch
The above definitions assume multicycle of 1 for setup and 0 for hold according to tool's perspective.
When user sets multicycle of 2 to setup then that modifies above SC definition of next latch edge by one clock forward as requested. However it does not modify definition of HC1 which will check a launch edge with previous latch edge, this is not right as multicycle requires checking a launch edge with the one before previous latch and so a hold multicycle of 1 is needed to modify the definition backwards by one edge.
Purely a tool issue.