Now building with the debug version of ncruses.  Helpful for figuring out what goes wrong with ncurses calls, especially when I'm not using them correctly.
Fixed the color pair problem.  It turns out that nothing was wrong with the terminal configuration (xterm supports 256 colors just fine).  The Lease always returns 0 as the first leased property number, and the color pair 0 is reserved for white on black and throws an error if you try to overwrite it.  Thus, when leasing the color pairs, I take into account that there is one color that is permanently taken (0) and I never try and overwrite it.