How does this shell hit the aircraft? 
A fighter aircraft is flying horizontally at an altitude of  1500m 
  with speed of 200m/s. The aircraft passes directly overhead an
  anti-aircraft gun. The muzzle speed of the gun is 600m/s.
We are required to find the angle to the horizontal at which the gun should
  fire the shell to hit the air-craft.

Here is how I did it:
I assumed that the shell will hit the aircraft at time $t$ secnods. During which the horizontal distance traveled by the former will be $600\cos(\theta)t$ meters and that by the later will be $200t$ meters.
Now, since shell will hit the aircraft, both the horizontal distances will be equal
$\implies 600  \cos(\theta) t = 200t$
$\implies \cos(\theta) = \dfrac{1}{3}$
$\implies \theta = \cos^{-1}({{1}\over{3}})$
Which is the right answer! According to my book.
But I think something is wrong with my calculation. I did not consider the altitude at which the aircraft was flying. My calculation was independent of the altitude.
Would the altitude make no difference to the angle at which the shell should be fired.
What if the altitude was 1000m?
Or what if the altitude was more than the maximum height the shell could reach, my calculation still won't be affected.
Is this the right way of doing this?
 A: I think that equating the horizontal speed, you make sure that when the bullet reaches the aircraft altitude you will surely hit it, because you are in the same horizontal position. The only issue is, as you point out, if you reach this altitude, but you can calculate it. So, I think you did right.
A: The error is that you assumed a time T seconds, but then didn't put that constraint into the vertical component of your equation.  You really have two separate problems, or at least two separate relationships that can be written, one for the vertical and one for the horizontal.
The firing angle you pick dictates the initial vertical speed, which dictates the time, not the other way around.  When the firing angle is too low and the vertical speed therefore too low, the shell never reaches the altitude of the aircraft and there is no solution.  As you say, your equations don't model this, which is because they are missing this constraint.
So to solve this, you can write the equation of time to impact as a function of angle based on the vertical dimension only.  Then do the same for the horizontal dimension, then find the angle at which the two times are equal.  Again, there will be two solutions over the valid range, exactly one solution at the critical limit, and no solutions past that.  This strongly hints at a quadratic form.
A: Whether it is right or wrong will depend on the level of understand expected for the book. 
If you are only looking at separation between the aircraft and the shell then you just need to account for horizontal velocity. This is because the aircraft does not have any vertical velocity. So the shell will eventually reach the altitude of the the aircraft and you just need to make sure that they both are at the same horizontal location at that time. 
Given the information this may be the best approximation you can get. So your approach is right.
However in "real" life you will need to account of things like air drag, wind direction, gravity, etc. They can change the answer significantly and definitely need to be accounted for.
A: I remember seeing this problem in my NCERT textbook recently! Anyway, I was also unsure about why height wasn't factored into my equation. I solved this problem by imagining an XY coordinate axis (this isn't strictly correct as it won't account for the time of collision, but it makes it easier to imagine intuitively), with the plane traveling parallel to the x-axis and the shell being launched at the origin. 
Essentially, the parabolic trajectory of the shell ONLY has to intercept with the line parallel to x-axis (the plane's trajectory) to collide. As the relative velocity of the shell with respect to the plane is 0 (as you had found out that the component of their velocities parallel to the x-axis are the same), the shell WILL collide with the plane as the two trajectories will intercept at some point (unless of course, the plane is traveling higher than the max height attainable by the shell!).
A: You have calculated the answer correctly. Ignoring drag but considering gravity, this is still correct, though if the angle theta is too shallow the projectile will never reach the target's height. 
The reason is that for external forces working only in the vertical plane (ie gravity), the missile tracks horizontally directly under the target.
The answer should, however, be qualified by a calculation of whether, under gravity, the missile will reach the target height. The kinetic equation for vertical separation between missile and target (parameterized by time) is (taking gravity as 10 m/s/s for simplicity):
$ 600t \sin(\theta) - 1500 - 5 t^2 = 0  $
or, dividng through by -5 and rearranging:  
$ t^2 - 120t \sin(\theta) + 300 = 0$
For this quadratic equation to have a positive solution, the discriminant must be zero, or in other words:  
$ 14400 * \sin^2(\theta) - 1200 > 0  $
hence  
$ 12 * \sin^2(\theta) - 1 > 0  $
and  
$ \sin^2(\theta) > 1/12  $
or equivalently  
$ \cos^2(\theta) < 11/12$
