Ok does some testing and still not working, it seems to be the callback

PHP Code: 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;

namespace 
SimplePinger
{
    public 
partial class Form1 Form
    
{
        
#region Variables

        
int PingAmount 5;
        
Ping pingSender = new Ping();
        
PingOptions options = new PingOptions(64true);
        
byte[] buffer = new byte[32];

        
#endregion

        
public Form1()
        {
            
InitializeComponent();
            
updatePingValue(5); //Set defualt to 5

            /*Ping Options*/
            
pingSender.PingCompleted += new PingCompletedEventHandler(PingCallback);
        }

        private 
void PingTimes_Scroll(object senderEventArgs e)
        {
            
updatePingValue(PingTimes.Value);
        }

        private 
void updatePingValue(int Value)
        {
            
PingAmount PingTimes.Value;
            
PingAmountLabel.Text "Pings to send: " PingAmount;
        }

        private 
void startPing_Click(object senderEventArgs e)
        {
            
outputBox.Clear(); /*Fine Here*/
            /*
             * Start the thread to run the InitiateThreadPinger()
             */
            
new Thread(InitiateThreadPinger).Start();
        }

        public 
void InitiateThreadPinger()
        {
            
/*
             * Loop 1-10 and run a ping on the host
             */
            
options.DontFragment true;
            for (
int i 0<= PingAmounti++)
            {
                
/*
                 * Send the pingSender the Send command with options, Callback attached in Main()
                 * The code in here Executes the correct amount of times as i get the Test below
                 * The problem seems to be that the ping does not execute the callback, Cross Thread Maybe ? ( NO Error Triggered )
                 */
                //MessageBox.Show("Test");
                
pingSender.Send("127.0.0.1"120bufferoptions);
            }
        }

        public 
void PingCallback(object senderPingCompletedEventArgs e)
        {
            if (
e.Cancelled)
            {
                
EnableFormElements();
            }
            if (
e.Error != null)
            {
                
MessageBox.Show("Ping Failed:" e.Error.ToString());
                return;
            }

            
PingReply reply e.Reply;
            
AddCallbackToForm(reply);
        }

        public 
void AddCallbackToForm(PingReply Reply)
        {
            if (
Reply == null)
            {
                return;
            }
            if (
Reply.Status == IPStatus.Success)
            {
                
outputBox.Text += "Success: " Reply.Address " - " Reply.RoundtripTime "ms";
            }
            else 
            {
                
outputBox.Text += "Failed...";
            }
        }

        public 
void EnableFormElements()
        {
            
startPing.Enabled true;
            
PingTimes.Enabled true;
        }

        public 
void DisableFormElements()
        {
            
startPing.Enabled false;
            
PingTimes.Enabled false;
        }

        private 
void Form1_Load(object senderEventArgs e)
        {

        }
    }


ive left some comments in there and filtered it down to the callback i get no errors so its hard for me to track