It would have helped a bit if you had given the IPs for AirPort#1 as well as the iMac. But basically your problem is that you are using at least two LANs.
For the lowdown on IP-numbers see here:
http://compnetworking.about.com/od/workingwithipaddresses/l/aa042400c.htm
You are using at least two ranges of private IP-numbers. Private IP-numbers in different classes are unable to see each other
unless you set your routing table up in special ways. The easiest way for you to fix things would be if your whole network was using 10.x.x.x Class A network addresses.
Where the separation occurs in you case is difficult to say, as you are providing infsufficient information. Both your AirPorts and the Linksys is capable of working in two different modes: bridged or NAT routing. Additionally they have an external IP-address and a pool of IP-number from which computers can request an IP-address through the DHCP protocol.
Now, when they are working in bridged mode, the external IP-address and the IP-address pool are taken from the same Class of IP-addresses. When they are working in NAT mode the external IP-address and the IP-address pool are taken from different Classes of IP-addresses. Thus, you have isolated the computers on one side from those on the other.
I'll recommend you to set your system up the following way:
AirPort#1 seems to be the one connected to the internet in some way, but which way? If it get's a global IP-address on the external port set it up in NAT mode (this typically happens if you're connected through some kind of modem), otherwise in bridging mode with 10.x.x.x. In both cases use the 10.x.x.x Class A network addresses on the internal network.
The rest should be set up in bridging mode and use the 10.x.x.x Class A address space.