Something I discovered yesterday is that IF resets @@rowcount.
The following code enters the if, but returns 0 as the rowcount.
select
* from sysobjects
IF @@rowcount>0
select @@rowcount
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability