Question: Can anybody help in knowing whether IFC entity type names are case sensitive or case insensitive.

For example: Can we replace `IFCPERSON` with `IfcPerson` (camel case) or `ifcperson` (small) in an \*.ifc file?

Answer: 
How about applying the following convention in every single context:

Simply assume that they are case sensitive and work accordingly.

If you always do that, you will never have a problem.

If you see different casing examples, and all of them work, you can assume it is not case sensitive.

Otherwise, you will always be on the safe side if you simply follow the case conventions that you see and are proven.

Furthermore, you should always implement unit tests for every piece of functionality.

If you have questions about case sensitivity, implement unit tests to prove your assumptions right.
You might want to take a look at [an online version of ISO10303-p21](http://www.steptools.com/stds/step/IS_final_p21e3.html) which defines the STEP data format (file format of .ifc files).

Chapter 5.4 defines the format of tokens, to which entity names belong, to only contain uppercase letters and digits. So basically they are case sensitive, meaning they may only contain uppercase letters.