If possible I create a database snapshot (enterprise edition only) or take a full backup with copy_only option. Always open a transaction before deletes or updates and commit only after I'm sure everything went well.
To find out about FKs, check sys.foreign_keys
catalog view. For example, to see all FKs for a table with cascade action on update or delete, use this query:
select *
from sys.foreign_keys
where parent_object_id = object_id('your_table') and
(delete_referential_action = 1 or update_referential_action = 1)
Similarly, this query will return FKs for a table, listing columns comprising the key and the referenced table:
select fk.name as foreign_key_name,
object_name(pc.object_id) as parent_table, pc.name as parent_column,
object_name(rc.object_id) as referenced_table, rc.name as referenced_column
from sys.foreign_keys fk
inner join sys.foreign_key_columns fkc on
fk.object_id = fkc.constraint_object_id
inner join sys.columns pc
on fkc.parent_object_id = pc.object_id and fkc.parent_column_id = pc.column_id
inner join sys.columns rc
on fkc.referenced_object_id = rc.object_id and fkc.referenced_column_id = rc.column_id
where fk.parent_object_id = object_id('your_table')