Two wrinkles to be aware of - PRINT has no effect with FMTONLY ON, and SELECT = constant takes effect as soon as you SET FMTONLY OFF. So this works:
SET FMTONLY ON
DECLARE @X INT
SET @X = 0
SELECT @X = 1
IF ( @X = 0 ) BEGIN
SET FMTONLY OFF
PRINT 'was on'
END ELSE PRINT 'was off'
but this does not:
SET FMTONLY ON
DECLARE @X INT
SET @X = 0
SELECT @X = 1
PRINT @X
SET FMTONLY OFF
IF ( @X = 0 ) BEGIN
PRINT 'was on'
END ELSE PRINT 'was off'