I can manually set a custom path for ckeditor just fine, but for ckfinder, the module is always looking for it in the module directory. Since all my module updates are automated, ckfinder will get deleted everytime I need to upgrade the ckeditor module. This is why I install ckeditor application under /sites/all/libraries/ and configure the module to look there. So instead of $module_full_path . "/ckfinder/..." should probably read $cke_path . "/ckeditor/..." or allow users to specify a custom path for ckfinder.