Is it really important to place limitations on directry and file names? Or maybe it is a bug!

To reproduce the first issue on your end just follow what I will explain in few steps.
1: Upload a skeletal mesh and give it a long name and place it in a directory with a long name and build the package and it will failed to build.

The socond issue:
2: Rename any file with lowe case letters and re-rename it with high case letters. Repeat this for 3 times the engine will crash or it will make a new copy of the file instead of renaming the old one.
Nore:; The name should be the same just change the first letter many times from lowe to high and from igh to low.