Считываю данные с большой скоростью, получаю цвет пиксела, поэтому решил  работать с помощью canvas.
Написал доп функцию:
 for (int y=0; y<Form1->Image1->Picture->Height; y++)
    {
     RGBTRIPLE* Col = (RGBTRIPLE *) Form1->Image1->Picture->Bitmap->ScanLine[y];
     for (int x=0; x<Form1->Image1->Picture->Width; x++)
        {
         Col[x].rgbtGreen=Pxls[x][y];
         Col[x].rgbtRed=Pxls[x][y];
         Col[x].rgbtBlue=Pxls[x][y];
        }
    }
 Form1->Image1->Refresh();
Вставляю эту функцию в обработчик получения данных:
 for (unsigned int i = 0; i < strlen(inBuf); i++)
  {
   xpic++;
   if (xpic >= Form1->Image1->Picture->Width)
    {
     xpic = 0;
     ypic++;
    }
   if (ypic >= Form1->Image1->Picture->Height)
    {
     ypic = 0;
     WriteImage();
    }
   int a = inBuf[i];
   Pxls[xpic][ypic]=a; //çàáèâàåì ïîëó÷åííûé öâåò â ìàññèâ äàííûõ
  /*
   Form1->Image1->Canvas->Pixels[xpic][ypic]=TColor(RGB(a,a,a)); //ñðàçó ðèñóåì(ïðîïóñêàåò ïèêñåëè)
  */
  }
 ZeroMemory(inBuf, 512);
Ничего не рисует. 
В чем может быть дело?