You should try this on a default theme (without any plugins), to see if that makes any difference.
Your shortcode example:
<img src="https://wordpress.stackexchange.com/questions/158628/whatever.jpg" alt="whatever" width="399" height="600" />
My caption text
gives this output:
<div id="my-caption-id"
style="width: 409px"
class="wp-caption alignnone my-caption-class">
<img src="https://wordpress.stackexchange.com/questions/158628/whatever.jpg" alt="whatever" width="399" height="600">
<p class="wp-caption-text">My caption text</p>
</div>
on the Twenty Twelve theme. It’s just a little bit formatted to make it easier to read here.
So the caption id and classes are displayed in the output.
Update:
It looks like your theme is overriding the image caption via:
// Remove default inline style of wp-caption
add_shortcode('wp_caption', 'fixed_img_caption_shortcode');
add_shortcode('caption', 'fixed_img_caption_shortcode');
in the /library/cleanup.php
file.