It's been a while since I worked with this, but it has to do with the order in which the colors are listed in the vector. For bitmap it is red-green-blue so using vec_set then you need to begin the vector with red, for example vec_set(colorvector.x,your.red). But when accessing or setting the color vector of a pixel, the color order is blue-green-red. The vector is then set through colorvector.blue. A conversion step from bmap vector to pixelvector is needed otherwise you "loose" a color which you seem to have done since the vector used begins with the second color. The last color value, the lost one, is set to zero. It took a while before I realized what was going on when working with this.

Hope this makes sense.

cheers,