Here is my input on your questions,
1. Are there any drawbacks to the above approach of having only aspects instead of types?
This is completely depends on problem you are solving. The example you quoted above, I don't see any issue because all you are interested in is property.
Any single document in repository would belong to at least on content type. If you want to identify your document with some type name and with some set of default properties, you can certainly use type approach.
In other hand, aspect you can use to decide behavior for your document. If I quot some random example here then, you may want to have some set of additional property with document if invoice is paid vs. invoice is rejected. in this case you can plan to have aspect with respective property, ex. paid aspect may have property with which medium its paid, via which bank etc. and reject invoice aspect may have property like reason for rejection etc.
2. Can I add/remove type of a document after it has been uploaded to alfresco?
You can change content type once after document is created. You can also do the same using action in Alfresco share.
Hope above comment will helpful to you!