API changes tonight. :)

SDL_CreateColorCursor() no longer frees the surface it is passed.
You have to free it yourself

    A new flag, SDL_THREADSAFE can be passed to SDL_AllocSurface(),
    and will enable thread-safe locking between SDL_LockSurface() and
    SDL_UnlockSurface() calls, so that only one thread can lock it at
    a time.  This flag does not cause SDL_MUSTLOCK() to return true.
    SDL_BlitSurface() will lock and unlock surfaces with this flag
    set (do not set the flag yourself -- pass it to SDL_AllocSurface()
    The video surface will have this flag set automatically.
    If you clear this flag, then blitting to the video surface will
    be slightly faster, but you will not be able to create color cursors
    and the color cursor blit routines will start interfering with your
    blitting.

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/