Bullets sometimes flying through enemies in Unity2D

I’m making a simple unity 2d space shooter game for iPhone where the player has two virtual joysticks, one for movement and one for shooting. I noticed that when I shoot at an enemy while moving away from it above a certain speed the bullets fail to hit the enemy. I have rigidbody2d attached to both the bullet and the enemy. Both have colliders attached, the one on the bullet is a trigger. Here are my codes for the bullet:

#pragma strict
var EnemyBulletDelay:float;
var BulletDamage:int;
var Spark:GameObject;

function Start () {
	//destroy bullet after delay
	Destroy(this.gameObject,1+EnemyBulletDelay);
}

function OnTriggerEnter2D(other:Collider2D){
	//detect if enemy taking player bullet shots or player taking enemy bullet shots
	if ((other.gameObject.tag=="Enemy"&&gameObject.tag=="Bullet")||(other.gameObject.tag=="Player"&&gameObject.tag=="EnemyBullet")){
	//target takes damage
		other.SendMessage("takeDamage",BulletDamage);
	//activates spark particles on hit
		if(Spark){
			Instantiate(Spark,transform.position,transform.rotation);
		}
	//destroy bullet
		Destroy(this.gameObject);
	}
}

And the codes for enemy:

#pragma strict

var EnemyHealth:int;
var GameManager:GameObject;
var ScoreWorth:int;
var Explosion:GameObject;

function Start(){
	GameManager=GameObject.Find("GameManager");
}

function takeDamage(damage:int){
	if (EnemyHealth!=0){
		if(EnemyHealth-damage>0){
				StartCoroutine("flashRed");
		}
		EnemyHealth-=damage;
		if (EnemyHealth<=0){
			EnemyHealth=0;
			DeathSequence();
		}
	}
}

function flashRed(){
	renderer.material.color=Color.red;
	yield WaitForSeconds(.1);
	renderer.material.color=Color.white;
}

function DeathSequence(){
	SendMessage("Dead");
	GameManager.SendMessage("AddScore",ScoreWorth);
	Instantiate(Explosion,transform.position,transform.rotation);
	Destroy(this.gameObject);
}

Please help!

Same thing happened to me while I was working on the guns script. My advice is either to use

Physics2D.Raycast();

(Documentation found here)
Or check out this, and this, awesome tutorials by the guys at unity that will definetly help you. Hope it helps.

BlackWings suggested a really good solution if you don’t need physics like bullet drop for your game. A solution that will give you bullet drop is by setting the bullets’ rigidbody to Continuous Dynamic and the players’ rigidbody to Continuous.