未使用ポート(DAT1, DAT2)も10kΩでプルアップしてみましたが相変わらず
ファイルの作成には成功しても中身の書き込みには失敗するようです。
自前のプログラム、サンプルプログラムどちらも同じです。

>>260
付属のサンプルプログラムが

fd = sd_open(fname, SD_O_CREAT|SD_O_APPEND, 0);

としてあったのでそっくりコピペしました。
ソースを眺めてみるとSD_O_RDWRやSD_O_WRONLYというオプションも用意されてるようですが
どういうシチュエーションで使うんでしょうか

>>261
2GBのSDカードだとFAT16のクラスタサイズは32kBになるようです。
http://www2s.biglobe.ne.jp/~system/doc/winfile.htm

>>257
> sd_errno

ソース見てたらなんかありますね、sd_errno。
エラーのステータスコードでも返されるんでしょうか?
UARTでつないでPCにエラー番号を表示させてみますか