Runtime Loaded Bump/Normal Texture into "Bumped Diffuse" Shader

I've been working on a RUNTIME .OBJ importer, all is going well with building mesh, normals and uv's, even turning quads to tri's etc.

I've become stumped on getting a RUNTIME imported BumpMap texture to work correctly with the "Bumped Diffuse" Standard shader.

I've first tried altering the Texture2d from color, greyscale and included a found function to convert it to a NVidea type Normal Map at runtime with no results

I tried changing texture spec from DXT1,DXT5,ARG32,RGB24 to no gain, even swapping different channels about for fun, and compressing the textures at runtime. I know the inbuilt editor importer converts normal maps to DXTnm, but this is not supported under .TextureFormat. syntax.

I have included a function solvetangents that generates tangents for the mesh and puts them to mesh.tangents which belongs to the mesh attached to the meshfilter of GO.

My only conclusion is that I have to use some other shader which would be a shame, or am not passing something correctly, does anyone have an idea why this will theoretically not work or how I could get this to work?

edit: Here's a simplied and much stripped version of my problem:-

    using UnityEngine;
    using System.Collections;

    public class tester : MonoBehaviour {
    public Texture2D BumpTexture;
    public Texture2D DiffTexture;
    public string objPath;
    public string PathDif;
    public string PathBump;
    private WWW loader;

    void Start() {
        StartCoroutine (Loader(objPath));
    }

    public IEnumerator Load(string objPath) {
        //....CODE...

        loader = new WWW(PathDif);
        yield return loader;
        loader.LoadImageIntoTexture(DiffTexture);
        loader = new WWW(PathBump);
        yield return loader;
        loader.LoadImageIntoTexture(BumpTexture);

        //....CODE...

        Material m;
        m=new Material(Shader.Find("Bumped Diffuse"));
        m.SetColor("_Color", new Color(0.5,0.5,0.5,1.0)); //example only
        if(DiffTexture!=null) m.SetTexture("_MainTex",DiffTexture);
        if(BumpTexture!=null) m.SetTexture("_BumpMap",BumpTexture);

        //....CODE...

        gameObject.AddComponent(typeof(MeshFilter));
        gameObject.AddComponent(typeof(MeshRenderer));
        //meshes generated, added, uv, normals recalculated, solved tangents
        gameObject.renderer.material = m;
        //result bump map doesn't look good
    }

}

See comment below for links to other parts of earlier code.

Many thanks in anticipation, Jon.

The solvetangents c# script on this page had an a tiny error:-

Calculating Tangents: Unity Answers

I posted the correction on that page in the comments underneath, thankyou to Dave A for the kind responses.

If time is money, someone is selling such a thing in the Asset store for $15. I don't know how good it is.