A: 

Yes, just instantiate MyZip and cast as a ByteArray.

Embed[(source="mzip.zip", mimeType="application/octet-stream")]
public static MyZip:Class;

var zip:ByteArray = new MyZip as ByteArray;
Joony
can you check my update on main question, i did as you said but still get an error.
Have you checked the value of zip? Is it a ByteArray? If so, then the question is answered and it looks like you have a different problem. It looks like the problem is with FZip. Try tracing out the image variable in the onCompleteHandler method to see if that is your null. But you should really ask another question for this.
Joony
Ok i found the problem i was giving a wrong path to find the image inside the zip!!I corrected the path, used the code as you told and now works, thanks!
Awesome! Glad to help :)
Joony