I am a bit bias, but you essentially have a good working model outlined to follow depending on what ever route you choose.
However, if using WPAlchemy, you would basically do something like the following:
// a custom style sheet if you want to do some fancy styling for your form
wp_enqueue_style('custom_meta_css', TEMPLATEPATH . '/custom/meta.css');
// define the meta box
$custom_metabox = new WPAlchemy_MetaBox(array
'id' => '_custom_meta',
'title' => 'My Custom Meta',
'template' => TEMPLATEPATH . '/custom/meta.php'
If you like this question & answer and want to contribute, then write your question & answer and email to freewebmentor[@]gmail.com. Your question and answer will appear on FreeWebMentor.com and help other developers.