You're correct. You cannot have both. All constraints are checked
before the actual data modification occurs. Triggers fire
after the data modification occurs. In your situation, the constraint detects that RI would be violated and prevents the operations from continuing.
For SQL Server 7.0 (and below) you have to use one or the other.
Of course, you could always upgrade to SQL Server 2000 which does support cascading deletes and updates.
-Mike