Lines such as the following:
$mform->addElement('modgrade', 'ratingscale', get_string('scale'), null, false);
ought to override the =true on the last parameter of the modgrade item type, causing it to hide the 'nograde' option from the list.
In fact the list is built before the constructor is called, due to the rather weird architecture of HTML QuickForm. Consequently the variable is not available. In addition, it is not possible to have a QuickForm parameter within the first 5 that defaults to true because there is code that goes around setting all the first 5 parameters to null if they are not set. [I.e. all defaults must be to null/false, not true.]