The most common uses for memblocks would be editing your resources, like sound, images, or models. It's fast because everything is done by manipulating the stuff in the memory directly. The catch is you'd have to study the memblock formats, and screwups are hard to find. You might also want to use if for "communicating" between two programs (like, you'd have a program done in C or VB for a level editor, and the two would communicate with and send data to each other through the memblocks.
Actually, if you think you can do fancy things by tinkering with the stuff in the memory, then memblocks are cool. Someone at LLRGT was making a small image editing library. Since using the DB commands would be too slow, he converted the image to a bitmap memblock, and sent a pointer to his image editing DLL, which does all the editing.
The only advantage I find most useful in memblocks over arrays is the use of pointers. If you have a use for pointers (usually when you use dlls or whatever), then the memblock makes editing the information faster and easier, especially for dll's. The only choice an array would have is to send its element one by one to the dll, which is slow. In a memblock, all you have to do is send the pointer to the start of the memblock to the dll, then you could read/manipulate the rest by simply adding an offset number to that pointer.
Eh. Ask the DBCe pros out there. They know better.

I spelled "disappointment" wrong. Pahintulutan ang di-inaasahang nakakahiyang pagkakamaling dulot ng kamangmangan. Have at you.