We had the same issue - if the Approver does not post a comment in the History Editor field - the Approval Step does not appear in the History Display.
The only way we found to deal with this problem is with JavaScript in an HTML Screen Separator. The JavaScript can pick up the History Editor field object using document.getElementsByName(). The name of the field is the Label specified for the History Editor. (Embedded blanks convert to underscores.)
In the JavaScript, we attach an onpropertychange and an onkeyup Event to the History Editor field object. It appears that both of these are needed - in order to catch all situations. In each of these, we test if the value is blank. If so, we force a default text into the History Editor field.
Please note that you can enter spaces (blank characters) into the History Editor field. IdM will treat this - if no other charactes are entered - as if nothing has been enterted, and not create an entry in the History Display. So you need to code for this possibility.