AES + CBC encryption for a stream of UDP packets
At a high level, the major flaw is that you are rolling your own crypto protocol. You should strongly consider using a standardized protocol like DTLS.

Some specific problems:


Symmetric key distribution is left unspecified. Keys must be changed occasionally to thwart distinguishers.
No way to recover from symmetric key compromise.
Your message authentication code follows no existing standards and therefore is likely not secure.
If the attacker can get the IV, which is fixed, so likely not too hard, and can influence the first block of plaintext (which wouldn't be too hard since you are using timestamps), they can do some nasty things.
The fixed IVs add complexity that is unnecessary. For example, you have to trust the endpoints to not get the IVs mixed up.


There are probably a lot more issues that I haven't thought of in the short time I've been thinking about it. To solve this, use something standardized.