My sources at Basho tell me that this is fixed in 1.0, but until that's officially released, basically don't try to list keys.
This means that if you have buckets A (1 million items) and B (5 items), sequentially scanning bucket B will take just as long as scanning bucket A -- because Riak has to scan through the entire store. In other words, it's not enough to say that one should avoid scanning a bucket because it's slow when you have lots of stuff in a bucket; it's always too slow to be practically usable in any situation where you have more than a few hundred keys.
I think calling buckets is a big mistake because they create the expectation that they really are separate things. "Namespace" or "keyspace" would have been more appropriate. (Can buckets have different replication semantics? If not, that's even worse.)
Cassandra is loosely based on the same tech as Riak, and supports sequential range queries very well, I hear.
Some of the Riak documentation was incomplete/incorrect which made implementation a little sticky, but the mailing list is extremely responsive and helpful.
Otherwise, have had a great experience with Riak thus far. Looking forward to the ease of scaling as well!