Windows NTP server with Linux clients

ntpd will reject clocks if it concludes that something is wrong with the remote clock because of a large offset. Your linux boxes are most likely rejecting the Windows TS because the offset is higher than the panic threshold. Assuming that the Windows time server is working properly you should look into adding the -g flag to ntpd invocation:

-g Normally, ntpd exits with a message to the system log if
   the offset exceeds the panic threshold, which is 1000 s by
   default.  This option allows the time to be set to any value
   without restriction; however, this can happen only once.  If the
   threshold is exceeded after that, ntpd will exit with a message
   to the system log.  This option can be used with the -q and -x
   options.

Or setting the panic value to something much higher or to zero:

panic panic
    Specifies the panic threshold in seconds with default 1000 s. If set to
    zero, the panic sanity check is disabled and a clock offset of any value
    will be accepted.

FYI: It is not entirely clear if your windows time installation is working correctly and/or is configured the way you describe. You mention that the Windows server is syncing to a stratum 1 machine on the internet. However your peers billboard says that ntp1.ourdomain is at stratum four:

Stratum  Machine description
1        ntp ref clock on internet
2        ?????????
3        ?????????
4        ntp1.ourdomain
5        linux boxes

The jitter value is also remarkably high for a machine with such a low delay, which I am assuming is indicative of a machine on the same local network.