When using long feature names, the file names gets truncated, leading to crippled functionality.

There is no warning that the file name is too long.
There is no warning that some files are missing when the feature gets recreated.

For instance, using "foo_event_registrations_frontend_feature" as feature name, leads to the following set of files:
foo_event_registrations_frontend_feature.features.fe_block_
foo_event_registrations_frontend_feature.features.inc
foo_event_registrations_frontend_feature.features.user_perm
foo_event_registrations_frontend_feature.features.user_role
foo_event_registrations_frontend_feature.info
foo_event_registrations_frontend_feature.module

And the feature is crippled in the way that block settings and user permissions are never updated when the feature is recreated.

Using "foo_event_registrations_frontend_feature_foo" as feature name, leads to
foo_event_registrations_frontend_feature_foo.features.i
foo_event_registrations_frontend_feature_foo.features.u
foo_event_registrations_frontend_feature_foo.info
foo_event_registrations_frontend_feature_foo.module
foo_event_registrations_frontend_feature.features.fe_bl
foo_event_registrations_frontend_feature.features.user_

And the feature is crippled almost entirely.

The only work-around is to create a new feature with a shorter name. Then you can change the human readable name to be of any length, as long as the machine readable name is short.

An example of a working name for the above feature would be "foo_er_frontend_feature", giving:
foo_er_frontend_feature.features.fe_block_settings.inc
foo_er_frontend_feature.features.user_permission.inc
foo_er_frontend_feature.features.user_role.inc
foo_er_frontend_feature.info
foo_er_frontend_feature.module