Do not confuse Pilot Navigation and Controller Navigation. It can either be 'Fly Heading' (Controller Nav) or 'Proceed Direct X' (Pilot Navigation), not both. Nothing to prevent 'Fly Heading, intercept track to X'. 'When able' should not be necessary - these days a pilot should always be able to immediately 'fly direct'. In the case of 'FLY HEADING (three digits), WHEN ABLE PROCEED DIRECT (name) (significant point)' there is no control of predicted track so I think such phraseology is rubbish, ICAO or not.