Gah! I forgot, you're doing a concat, not a calculation returning just a date/time.
Here's my next attempt:
valueexpression=IF({numberOfChildren}=0,IF({canStart},IF(ISBLANK({actualCompletionDate}),CONCAT({plannedCompletionDate}," ",HOUR({plannedCompletionDate}),":",MINUTE({plannedCompletionDate}),...