Here is an example of usage of the standard library. Note how many of your functions have been eliminated, replaced with library functions.
Code:
#include <iostream>
#include <list>
#include <string>
#include <algorithm>
#include <time.h>

using namespace std;

const char *Names[]={"Phill","Colin","Bucket","Fluffy","Mister","Lilly","Rose","Shamandale","Yoshie","Jane","PeanutButter","Plank","Sucubus","Broken","Horse ****"};

class Bunny
{
    string Gender;
    string Color;
    int Age;
    string Name;
    bool Mutant;
    
public:
    std::string GetName() const { return Name; }
    std::string GetColor() const { return Color; }
    int  GetAge() const { return Age; }
    void SetAge(int theAge) { Age = theAge; }
    std::string GetGender() const { return Gender; }
    bool IsMutant() const { return Mutant; }
    bool IsMale() const { return Gender == "Male" && Age > 2; }
    bool IsFemale() const { return Gender == "Female" && Age > 2; }
    bool IsOlderInAge(int testAge) const { return Age > testAge; }
    bool IsYoungerInAge(int testAge) const { return Age < testAge; }
    bool IsEqualInAge(int testAge) const { return Age == testAge; }
   
    int Random(int x)
    { return x=rand()%(x+1); }

    bool MutantBunny()
    {
        int X=Random(100);
        return X < 2;
    }

    string SetGender()
    {
        int R=Random(10);
        Gender = (R<5?"Male":"Female");
        return Gender;
    }

    string SetColor()
    {
        int R=Random(100);
        if(R<24)
            Color="White";
        else if(R>24 && R<=49)
            Color="Brown";
        else if(R>50 && R<=75)
            Color="Black";
        else if(R>76)
            Color="Spotted";
        return Color;
    }

    int ResetAge()
    {
        Age=0;
        return Age;
    }

    std::string SetName()
    {
        if(Mutant)
        {
            Name=Names[rand()%(14-10)+10];
        }
        else if(Gender=="Male")
        {
            Name=Names[rand()%5];
        }
        else if(Gender=="Female")
        {
            Name=Names[rand()%(9-5)+5];
        }
        return Name;
    }

    Bunny()
    {
        Mutant=MutantBunny();
        if(Mutant)
        {
            Gender=SetGender();
            Color="Green";
            Age=ResetAge();
            Name=SetName();
        }
        else 
        {
            Gender=SetGender();
            Color=SetColor();
            Age=ResetAge();
            Name=SetName();
        }

    }

    void print()
    {
        std::cout<<"Bunny "<<Name<<" was born!";
        if (Mutant)
        {
            cout<<" He's a mutant..!"<<endl;
        }
        else
        {
            cout<<endl;
        }
    }

    ~Bunny()
    {
        cout<<"A bunny with the name "<<Name<<" has died!"<<endl;
    }
};

class BunnyList
{
    typedef std::list<Bunny> BunnyLinkedList;
    private:
        BunnyLinkedList m_theBunnyList;
        
    public:
        typedef enum {AGE_EQUAL, AGE_YOUNGER, AGE_OLDER } AgeType;
        int Count()
        { return (int)m_theBunnyList.size(); }

        void AddBunny(const Bunny& NewBunny)
        { m_theBunnyList.push_back(NewBunny); }

        const Bunny& GetBunny(int Pos) const 
        {
            if ( Pos >= 0 && Pos < (int)m_theBunnyList.size())
            {
               BunnyLinkedList::const_iterator it = m_theBunnyList.begin();
               std::advance(it, Pos);
               return *it;
            }
            throw std::out_of_range("Bunny position invalid");
        }

        bool Delete(int Pos)
        {
            if ( Pos >= 0 && Pos < (int)m_theBunnyList.size())
            {
                BunnyLinkedList::const_iterator it = m_theBunnyList.begin();
                std::advance(it, Pos);
                m_theBunnyList.erase(it);
                return true;
            }
            return false;
        }

        int GetNumMutants()
        { return (int)std::count_if(m_theBunnyList.begin(), m_theBunnyList.end(), std::mem_fun_ref(&Bunny::IsMutant)); }

        int GetNumMale()
        { return (int)std::count_if(m_theBunnyList.begin(), m_theBunnyList.end(), std::mem_fun_ref(&Bunny::IsMale)); }

        int GetNumFemale()
        { return (int)std::count_if(m_theBunnyList.begin(), m_theBunnyList.end(), std::mem_fun_ref(&Bunny::IsFemale)); }

        bool WeWillMate()
        {
            int M=GetNumMale();
            int F=GetNumFemale();
            return (M>=1 && F>=1);
        }

        void OutOfFood()
        {
            if(Count()>100)
            {
                int k=Count()/2;
                for(int i=0;i<k;i++)
                {
                    int z=rand()%k;
                    Delete(z);
                }
            }
        }
        
        void PrintAllBunnies() const 
        {
            cout<<"The Horde consists of " << m_theBunnyList.size() <<" bunnies, here they are: "<<endl;
            cout<<endl;
            BunnyLinkedList::const_iterator it = m_theBunnyList.begin();
            while (it != m_theBunnyList.end())
            {
                const Bunny& Temp = *it;
                cout<<"Name: "<<Temp.GetName() <<" Sex: "<<Temp.GetGender() <<" Age: "<<Temp.GetAge() <<" Color: "<<Temp.GetColor();
                if (Temp.IsMutant())
                    cout<<" Im a Mutant.."<<endl;
                else
                    cout<<endl;
                ++it;
            }
        }
        
        void DeleteByAge(int age, AgeType aType = AGE_EQUAL)
        {
            switch (aType)
            {
                case AGE_EQUAL:
                    m_theBunnyList.remove_if(std::bind2nd(std::mem_fun_ref(&Bunny::IsEqualInAge), age));
                break;                    
                case AGE_YOUNGER:
                    m_theBunnyList.remove_if(std::bind2nd(std::mem_fun_ref(&Bunny::IsYoungerInAge), age));
                break;                    
                case AGE_OLDER:
                    m_theBunnyList.remove_if(std::bind2nd(std::mem_fun_ref(&Bunny::IsOlderInAge), age));
                break;                    
            }
        }
};

int main()
{
    srand(time(NULL));
    BunnyList List;

    for(int i=0;i<5;i++)
    {
        Bunny theBunny; 
        List.AddBunny(theBunny);
        theBunny.print();
    }

    // remove all bunnies with age 10
    List.DeleteByAge( 10 );
    List.PrintAllBunnies();
    return getchar();
}
To be honest, this isn't even my best attempt. I didn't address the random number issues that GCDEF mentioned, but at the very least, you can start to look at this code and understand how it does what it does.

Regards,

Paul McKenzie