Same Query takes 0 seconds on Server A, 7.5 minutes on Server B (same db/hardware/config)
This problem has been resolved, although not quite how I anticipated.

Performance did not change after flushing the buffer pool, the procedure cache, rebooting the server, or rebuilding the indexes.  The lengthy index spool continued to appear sometimes and not others in the query plan.

The fix was to change the reference in the where clause from ib_charge.patient_account_fk = ### to ib_header.patient_account_fk  (the itemized bill (IB) header table is much smaller than the ib_charge table).  This resulted in the server ceasing to use the Index Spool in all cases, which was the cause of the performance hit.