Мм.. Попробую объяснить, почему отображается. Почему ПРОИСХОДИТ это - нет, не смогу.
Как вам, может быть, известно, все текстуры на серваке LL переконвертируются в JPEG2000. Глюк с прозрачностью, который вы наблюдаете - в связи с тем, что вы 8-битную TGA текстуру конвертируете в JPEG2000.
При этой конверсии чёрный цвет несколько бледнеет.
Скорее всего, ваша 8-битная текстура имеет некую палитру (а при 8 битах имеет место палитра в 256 цветов, если я ничего не путаю), а на сервере LL эта палитра несколько иная, и чисто черного И чисто белого цветов в ней попросту нет. При конверсии происходит автоматическая подгонка вашей текстуры под палитру LL. А её альфа-канала это тоже касается.
На альфа-канале - чем "светлее" область, тем она непрозрачней. Абсолютно чёрному соответствует абсолютная прозрачность, абсолютно белому - полная непрозрачность. При вышеупомянутой подгонке/конверсии (Ваш 8-битный TGA -> 8-битный TGA с ИХ палитрой -> Jpeg2000) чёрный и белый цвета "блекнут" (т.к., как я уже сказал, чисто черного цвета в их палитре нет). Если черный цвет блекнет (он становится несколько светлее) - все его области на альфа-слое дают частичную непрозрачность. Соответственно области чисто белого (чисса непрозрачные) приобретают некоторую прозрачность.
Информация не проверялась, но, скорее всего, так оно и есть.
Выход - переведите картинку в 32 бита, и только потом сохраняйте. Или используйте 32-битный же PNG и не мудохайтесь с созанием альфа-канала вручную.
LSL-скриптинг и UI-дизайн. Дорого.