If a contact registers for a 'free' (non-paid) event - when you view the participant record, the Event Fee field is rendered as a text field with an integer value in it.
- Create a new event and set Event Fees >> Paid Event to NO
- Go to event/register and register for the event
- Go to contact/view Events tab and click Edit for event
- The Event Fee(s) field will render as a text field which has an integer value.
What we should do is not suppress that field and just put the text "(no fee)" in place of the field html element.
(The DB civicrm_participant record has NULL for event_level - which is correct.)