check if a user-defined type exists before dropping it
This works the same as in SQL Server; use the following style of construct:

IF OBJECT_ID('dbo.MyObject') IS NOT NULL
BEGIN
    EXEC sp_droptype 'dbo.MyObject';
END


OBJECT_ID(...) returns an integer representing the object_id from sysobjects for every object stored in the current database.  It will return NULL if the object does not exist.

Another way of testing for object existence:

IF EXISTS (SELECT 1 FROM systypes st WHERE st.name = 'MyType')
BEGIN
   EXEC sp_droptype 'MyType';
END


I don't have the ability to create a type in ASE at the current time, so I cannot say for certain if OBJECT_ID() will work.