Как и обещал, всё сделал. Держите.
Пример выполнения:
Program AlphaTest;
Uses alpha;
Var im: image;
Begin
im:=LoadImage('/world.png'); // Загружаем картинку
DrawImage(im, 5, 5); // Рисуем её
im:=SetOpaque(im, 127); // Ставим общую прозрачность картинки на 50%
im:=ReplaceColor(im, GetColor(im, 0, 0), 0); // Заменяем цвет фона на прозрачный
DrawImage(im, 25, 25); // Рисуем вторую картинку чуть ниже для сравнения
Repaint; Delay(10000);
End.
Добавлена функция GetColor(image im, int x, int y) которая возвращает цвет пиксела в картинке с выбранными координатами в ARGB формате.