Ok, that clears it up, So FFP functions are a few general functions that your (older) graphics card hardware understands and processes. In newer cards, ffp is emulated by shaders because no ffp hardware support exists in them. So it wont matter which you use on these newer cards with the exception that the eqivalent shader code can be somewhat optimized and ffp cannot. Therefore shadercode could actually be faster than ffp on the newer cards! This would be especially true as card manufacturers add hardware support for vertex and pixel shaders as they drop hardware support for ffp.
So if I use ffp, it may end up running slower on newer cards than shader code would! This makes it seem that HLSL is probably the way to go even though it is slower on my current (older) card than ffp.