Wait, are you using a custom brick? If you are you should include "isOre" in it's datablock along with all the other values.
Example:
datablock fxDTSBrickData (brickRPGOredata : brick1x1data)
{
	category = "RPG";
	subCategory = "Ore";
	uiName = "Ore";
	
        isOre = 1;
        Health = 200;
        defaultHealth = 200;
        regrowtime = 20;
        oreAmount = 50;
        oreName = "Mashed diamonds";
};
So when you use SkillPickaxeProjectile::onCollision, make sure to use "if(%col.getDataBlock().isOre)". I don't think "== 1" is really needed.
Example:
function SkillPickaxeProjectile::onCollision(%this,%obj,%col,%fade,%pos,%normal)
{
	if(!(%col.getType() & $TypeMasks::FxBrickObjectType))
		return;
	if(%col.getDataBlock().isOre) ///// == 1)
	{
		if(%col.getDatablock().Health >= 1)
		{
		%col.getDataBlock().Health -= getRandom(1,5);
		commandToClient(%this,'centerPrint',"\c6You swing your pick at the ore.",3);
		}
		else if(%col.getDatablock().Health < 1)
		{
		%col.getDatablock().Health = %col.getDataBlock().defaultHealth;
		%col.Dissapear(%col.getDatablock().regrowTime);
		%this.Resources +=  %col.getDataBlock().oreAmount;
		messageClient(%this,'',"\c3You have mined some \c6" @ %col.getDataBlock().oreName @ "\c3.");
		}
	}
}
I haven't tested this, but I'm pretty sure it will do something. The old CityRPG uses the datablock idea to manage how much ore or lumber it had left in a brick I believe.