Particle antiparticle annihilation-do they have to be of the same type? I read that a particle will meet its antiparticle and annihilate to generate a photon. Is it important for the pairs to be of the same type? What will happen when for example a neutron meets an antiproton or a proton meets a positron? Are there any rules to determine what happens when such particles meet?
 A: Yes, there are rules that depend on the quantum numbers carried by the particles under question and the energy available for the interaction.
In general we label as annihilation when particle meets antiparticle because all the characterising quantum numbers are equal and opposite in sign and add and become 0, allowing for the decay into two photons, two because you need momentum conservation.
A positron meeting a proton will be repulsed by the electromagnetic interaction, unless it has very high energy and can interact with the quarks inside the proton, according to the rules of the standard model interactions.
When a neutron meets an antiproton the only quantum number that is not equal and opposite is the charge, so we cannot have annihilation to just photons, but the constituent antiquarks  of the antiproton will annihilate with some of the quarks in the neutron there will no longer be any baryons, just mesons and photons, and all these interactions are given by the rules and crossections of the standard model.
A: The only thing that a particle and an antiparticle can do always for sure in theory is annihilate into gravitons. Everything else depends on the particle.
The reason people talk about particle/antiparticle annhilation is to convey that antiparticles are particles going backward in time, in an S-matrix particle-path picture, like Feynman diagrams. If you have interactions that can knock a particle sideways, then these interactions can also knock a particle back in time, so that any external interaction can produce particle/antiparticle pairs, and can lead to creation and annihilation of pairs. If the external potential can absorb the particles, if they aren't protected by conservation laws, then it can produce the particle and antiparticle singly.
There are no conservation laws which can forbid a particle from annihilating with its antiparticle, because gravity can always knock a particle back in time.
But some particles are hardly interacting, externally or internally. These particles don't annihilate with their antiparticle, they just ignore it. A neutrino is its own antiparticle, but two stopped neutrinos will just sit there next to each other, wavefunctions spreading, doing nothing much at all. Their cross section for annihilating into anything is negligible. Same with two photons, or two gravitons.
Charged particle/antiparticle pairs can annihilate into photons, usually two or three depending on the conservation laws, but not all particles are charged. neutrons and antineutrons have a hard time finding each other, and I don't think its fair to say that they annihilate. When they collide, they can in theory turn into photons, but they almost always will just go past each other, or, if they collide, they turn into mesons.
The most extreme example of annihilation is at the highest energies, a massive charged spinning black hole. The antiparticle has opposite charge. Two such black holes collide to make a big neutral probably spinning black hole, which then slowly decays.
A: The major problem you run into with this question is the protons and neutrons are not fundamental particles.
The short answer is that $x + \bar{y}$ does not result in any annihilation at the vertex level (but sometimes other reactions are possible), but $n + \bar{p}$ is not expressed at the vertex level.
Instead a neutron is a composite object made up of two (matter) down quarks and one (matter) up quark and a seething mess of virtual particles (often called "the sea") that pop into and out-of existence all the time.
A anti-proton is made up of two anti-up quarks and one anti-down quark and another seething mess of virtual particles.
So if a neutron meets and anti-neutron ($(udd+ \text{sea}) + (\bar{u}\bar{u}\bar{d} + \text{sea}) \to \text{??}$) you get reactions at the quark level, and the two composite particles can be destroyed leaving zero baryons but a lot of hadronic spray.
