how many events [can I send] every 16 milliseconds?
On a DIN MIDI cable, the speed used is 3125 bytes per second (31250 bits per second and 10 bits per byte -- 1 start bit, 8 data bits, 1 stop bit). Other than System Exclusive messages, a MIDI message is 3 or 2 or 1 bytes long. So the maximum number of messages in 16 milliseconds is 16 2/3 or 25 or 50, respectively.
If you are sending MIDI messages on a USB cable connected to a USB port on both ends, I don't know the details other than it is faster than a DIN MIDI cable.
(Similar: The recent thread
MIDI buffer limits discussed how many differnet-channel pitch-bent notes could be sent per second.)
AlsaMidi gives me an error with more or less 1000 events
Trying to send 1000 MIDI messages when you change position in a MIDI file seems like too many messages to me. I think 100 or 200 messages might be more typical for a busy MIDI file.
Although there are 128 possible Control Change messages, most MIDI devices do not use all of them, and most MIDI files will only send some of them. You shouldn't try to re-send all 128 possible Control Changes on every channel when the position changes. You should only keep track of the messages that are actually contained in the MIDI file, and only send the messages that will have a different value.
(By the way, there are also 16384 possible Registered Parameters and 16384 possible Non-Registered Parameters.)