What you really want to do is something like the following (see code). Const objects are initialized at creation. Some compilers understand what you are trying to do and do not complain about this form of assignment.
SomeType const& obj(*LIB_CreateSomething());
Typically in C++ you wouldn't do that though.
One reason is that 'raw' (naked) pointers are only really frowned upon when you are the owner. If it doesn't belong to you then stylistically there is nothing wrong with using a pointer.
Another is that the pointer might be null and casting a NULL directly to a reference will render the reference unusable.
As mentioned in another comment you might in fact be the owner and in that case you would be expected to manage the memory. You cannot do that with a reference.