Bit-banging a ShifBrite led driver with a PIC
I never worked with Shiftbrite A6281 led driver but here is what I can think of by looking at the code:

void write_color(unsigned long int color)
{
    LATCH = 0;
    CLOCK = 0;   
    ENABLE = 0; // 0 = ON

    for (int i=0; i&lt;32; ++i) { 
        if (((color &gt;&gt; (32 - i)) &amp; 0x01) == 0x01)
          {
              DATA = 1;
          }
        else 
         {
            DATA = 0;
         }
        CLOCK = 1; 
        __delay_ms(1);
        CLOCK = 0;           
    }

    /************* HERE I CHANGED ****************/
    //I am assuming when Latch is set to 1, It accepts value
    LATCH = 1;
    //Send a Clock pulse!
    CLOCK = 1; 
    __delay_ms(1);
    CLOCK = 0;
    LATCH = 0;
    // ENABLE = 1; 
}


I would also suggest, if possible, try this circuit on Simulator first and check it!