всем спасибо за участие. проблема решена. нужно было компилировать в delphi 7. (delphi 2009 неправильно передает указатель на массив)
Код:
function func1(input: pchar; output: pchar): bool; cdecl;
external 'my.dll' name '_func1';
procedure TForm1.Button1Click(Sender: TObject);
var
a: array[0..40] of char;
b: pchar;
begin
a := 'drtj2sdasdasdasd';
b := @a;
func1(b,b);
end;