After reviewing this code, it seems that this case can work after all.
However, several things needed to be tweaked:
1) Removed check which stopped parented objects from getting the
visual keying coordinates determined. This actually wasn't doing
anything, given that this case would never occur as...
2) Tweaked the visualkey_can_use() function to also consider parenting
as a cause for visual-keying to be necessary.