Missing images can cause errors... that was probably what was going on. You can wrap the image tag with an IF statement to make sure it isn't displayed when the image doesn't exist. Resizer is a good approach otherwise.
I think either approach on the category assignment would be acceptable. It is a usability decision probably based on the number of items you might have in a category. If there are going to be a lot, then maybe selecting products for the category would become hard to manage, but if there will only be a few dozen products, then that might be the easier approach.