Is my MySQL library wrapper neat? How can I do better?
In C the naming conventions typically are lower_case_with_underscore for function names and types (although for types some people also use PascalCase). UPPERCASE is only really used for macro definitions.
In CONNECTION_INIT you have a bunch of hard-coded settings. These should come from a config file or via command line arguments.
In init_connection you write:

if((conn = MYSQL_CONNECT_DB(info)) == (MYSQL *) 0)



There is no reason to cast in order to compare it to NULL, simply == NULL works and is more idiomatic.
There is no reason to do the assignment and compare in one statement. Splitting it up makes the if statement less crammed:

conn = MYSQL_CONNECT_DB(info);
if (conn == NULL)
{
    ...


I assume printw is some kind of way to print debug/info/tracing messages. If so then this is not a good name for the function. Better would log_info or similar (depending on the exact purpose).
There is this magic refresh method called everywhere but it doesn't seem to follow any particular pattern. Seems suspicious to me.