Big thumbs up. (I saw this first on reddit, then came here.) I like the trade-offs considered here. I am not a fan of C++ smart-pointers, except scoped_ptr (and unique_ptr is basically a const scoped_ptr). I've always thought that memory bugs were the easiest ones to solve in C because I can find them using "valgrind". The non-release ref-count-checker proposed here is basically a memory-checker, similar to the old Rational/IBM "purify" I guess (which "instrumented" code before running it, with a significant runtime penalty).
The more important issues are ease of writing multi-threaded code, clean interactions with C++, and overall efficiency. It sounds like you've put a lot of thought into these. It's important for a novel language to distinguish itself. There are tons of languages that are essentially identical. I like the idea that I'm using a language with a bit of brilliance behind it.
