Falls du TIceClient von cobans.net benutzt (eigentlich der beste, den ich gesehen habe), dann gibt es da einen OnStatusChange Event (ICQStatusChange(Sender: TObject; UIN: String; Status: Cardinal)
Mit StatusToStr(Status) kannst du den Status in string umwandeln. Dann kriegst du eins davon: DND,Occupied,N/A,Away,Invisible,FFC,Online...