a few things..
lose the second noise, trust me its a waste of space.. then normal noise function can be used for pretty much anything. also, do what i just did, lose the fractalplasma and implement a simple perlin noise instead (8 subplasmas at different amps and sizes added together), sure it's slower but looks so much better and is so much easier to control.
your shade looks faulty, as do your twirl.. however the twirl might be set to a radius far larger than 256?
thats what hit me when i first looked at the pictures.. other than that, great job.. have some K

eidt: and trust me, you will never ever use that edge detect.. so use those bytes on something different

and in case your shade really is faulty(could be that you used a crappy map to shade with, thus it will look faulty) here's how you implement a real shade:
loop through x and y, pop the color of map[x,y] into some variable like temp. if it's less than or equal to 127 you subtract temp from 127, add that result to source[x,y] and whack it in your destination texture at [x,y]. if temp is greater than 127 you subtract 127 from temp, add it to source[x,y] and whack it onto destination[x,y]. something like this:
x1=0 to 65535
begin
if [map]^[x1] <= 127 color = [src]^[x1] - (127 - [map]^[x1]);
if [map]^[x1] >= 128 color = [src]^[x1] + ([map]^[x1] - 127);
[dest]^[x1] = color;
end
using that you will end up with something like this(3 images attached, first=source, second=source embossed, third=source shaded with emboss):