Ваш обратный вызов должен выглядеть следующим образом:
Public Delegate Sub AlertManCallbackDel(ByRef data As Byte)
Причина в том, что вы передаете однобайтовое значение по ссылке.
Что касается объявления неуправляемой функции, оно должно выглядеть следующим образом:
<DllImport("AlertMan.dll")> _
Public Shared Function AlertManC( _
ByVal CallbackAddr As AlertManCallbackDel) As Integer
End Function
Обратите внимание, что тип возвращаемого значения - целое число, которое в VB.NET является 32-разрядным значением. В VB6 Long был 32-битным значением, поэтому необходимо изменить VB.NET.
Определение обратного вызова также важно, чтобы понять, кстати.