As @Wendelius has pointed out, there is no concept of a "first record" unless you have some means of identifying the ORDER in which the records should be interpreted.
As you have no obvious auto-increment, nor a definition of "first" I have assumed that the records will appear in ZBAND + ZTAXBAND order to generate a row number. I can then use that row number in a CASE statement similar to this
;WITH CTE AS
(
SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY ZBAND, ZTAXBAND) AS RN,
ZBAND,
ZTAXBAND,
ZRATE,
ZANNUAL,
ZANNUAL/12 AS ZMONTHLY,
(ZANNUAL/12-(ZANNUAL-ZTAXBAND)/12)*ZRATE/100 AS ZMAXTAX
FROM #FRESULTS
)
INSERT INTO #SRESULTS(ZZBAND,ZZTAXBAND,ZZRATE,ZZANNUAL,ZZMONTHLY,ZZMAXTAX)
SELECT
ZBAND,
ZTAXBAND,
ZRATE,
ZANNUAL,
ZANNUAL/12 AS ZMONTHLY,
CASE WHEN RN = 1 THEN 0 ELSE (ZANNUAL/12-(ZANNUAL-ZTAXBAND)/12)*ZRATE/100 END AS ZMAXTAX
FROM CTE