Hi Alias, sorry for the delayed response. I’m sure you’ve already found your answer, but just in case someone else stumbles upon this in a Google search, typically if CreateFrame is nil, it means either yourself, or another addon has polluted the “global” name space.
The global name space holds a lot of things in it, one of them being different global functions for the LUA api that WoW uses. If someone accidentally overwrites that namespace, and replaces CreateFrame with nil (essentially deleting the function), then it will break for EVERYONE that uses that addon, because that function no longer exists in the global name space, in the expected form (as a function type).