WordPressのメディアアップロードパスをプラグイン側から変更しようとする場合、
wp-includes/functions.php のwp_upload_dir()で生成された、パスをadd_filter()で変更する手段をとるわけですが、 現行のwp_upload_dir()ではwp_mkdir_p()によるフォルダー作成がapply_filters()の前に実行されるので、add_filter()でパスを変更しても目的のフォルダーが作成されないという問題がある。
現状では、プラグイン側で再度wp_mkdir_p()を実行して目的のフォルダーを作成しているが、wp_upload_dir()側でもwp_mkdir_p()で別のフォルダーを作成しようとするので、あまり面白くない状態です。
wp_upload_dir()の処理で、wp_mkdir_p()の前にapply_filters()を持ってきてくれると、助かるので、だめもとで、チケット#9973を発行してみたけれど・・・
いやー、お願いしてみるものです。(結構、適当な英語で心配だったけど)
WordPress本家のほうでチェンジセット11493にて修正していただけました。
という訳で、WordPress2.8以降はクリアです。
感謝!