It looks like you're using the annuity formula for the coupons and that's a no-no here because your cash flows are not equally spaced in time. You can use XNPV in Excel with a set of dates, but let's evaluate the problem from first principles.
I'll assume the coupons are paid semi-annually to coincide with the compounding frequency and the next coupon comes in 3 months. The timeline of cash flows looks as follows where one period equals six months and half a period equals 3 months.
Periods 0 -- 0.5 -- 1 -- 1.5 -- 2 -- 2.5 -- ... -- 6 -- 6.5
Cash flows 0 -- 3 -- 0 -- 3 -- 0 -- 3 -- ... - 0 -- 103
Note the inconsistent spacing between cash flows. The first arrives in 3 months, the second arrives 6 months later. We can now discount these cash flows and sum like so.
Value_0 = 3/(1+0.07/2)^0.5 + 3/(1+0.07/2)^1.5 + ... + 103/(1+0.07/2)^6.5
I get $98.6246.
You could also use the annuity formula to get the value of the SECOND through last coupons as of 3 months from today and then discount the first coupon and par value separately.
Value_0 = 3/(1+.035)^.5 + 3/.035 x (1 - (1+.035)^(-6)) x (1+.035)^(-0.5) + 100/(1+.035)^6.5
I get the same result as above, $98.6246.