I would suggest to follow Todd Bleaker's web Parts in
10 easy steps. One tip I like is that always create a
skeleton web part (doing nothing web part) and deploy
it, then refine the logic and rendering later. I
always create CAB files and use stsadm.exe instead of
copying files myself. Before setting AssemblyKeyFile I
would try Full trust level as well.