In general it looks good; I will clone and compile it ASAP to see if I can find were the problem lies.
A little note: bignum.cpp is added to a headers directive in Makefile.am, there is probably a more appropriate place to put it.
The files where I suspect I did something wrong are those where I didn't make only simple replacements using the patches (because Cryptonite had significantly different code) and had to guess what to use instead:
- chainparams.cpp (first replacement is specific to Cryptonite)
- main.cpp (the part at line 980 where a fNegative/fOverflow variable is introduced, Cryptonite's code was somewhat different than Bitcoin's)
- main.h (around line 736)
- crypter.cpp
- key.cpp (in these two files the original Peercoin patch didn't work fully, so I had to adapt it)
PS: I think I spotted a possible error in this commit at line 305 in key.cpp, where I used (probably wrongly) the original Peercoin patch. I'll look into it.
Edit: It still segfaults after correcting the values to those used in Cryptonite. :-( However, I commited the change to my fork because I think it was wrong anyway.