One thing I see that may be causing issues is use of meta characters like " . " and " [ " in your ID's. jQuery docs show these should be double escaped in selectors. It could be that use of these is not being handled consistently in all browsers
http://api.jquery.com/category/selectors/In chrome the select always seems to get appended so a workaround for the options , and a more efficient method of appending elements , that you could try is to create the whole select as one string, including all the options and make one append instead of trying to append each option.
Append is the most costly part of the operation anyway, so this would cut down a lot of the indiviudal appends you are making anyway
You would need to modify your data() calls on the new options and add them with inline html5 type data attributes. Fortunately jQuery now reads those from html anyway when you look for the values with data() method.
My theory is that if the empty select makes it to the TD Ok, so should the whole html string with options included