what is fastest allowable serial baudrate?
The Arduino Mega 2560 runs at 16 MHz. There are online calculators making this easy, as the calculation is not a straight and simple formula.

http://wormfood.net/avrbaudcalc.php

which shows using 16 MHz

Baud Rate   UBRR(dec)   UBRR(hex)   % of error
300 3332    0x0D04  0.0
600 1666    0x0682  0.0
1200    832 0x0340  0.0
2400    416 0x01A0  0.0
4800    207 0x00CF  0.2
9600    103 0x0067  0.2
14400   68  0x0044  0.6
19200   51  0x0033  0.2
28800   34  0x0022  0.8
38400   25  0x0019  0.2
57600   16  0x0010  2.1 - Barely OK
76800   12  0x000C  0.2 - GOOD
115200  8   0x0008  3.7 - BAD
230400  3   0x0003  7.8 - BAD
250000  3   0x0003  0.0


Where it is noticeable that the Mega's Arduino boot loader uses 

mega.menu.cpu.atmega2560.upload.speed=115200


which is above the acceptable 1% error rate.

While it is possible to support different baud rates than stated above, it is not advisable, as the above values are the standard values. Values in between are very atypical and likely not trustworthy on the corresponding other side of the connection. 

As I see your above example is 1024000, it is also worth noting that HardwareSerial.cpp implements a method to convert the requested baud rate to configuration of the USART, and I would not necessarily trust it for non-standard baud rates, especially on older version of the Arduino IDE. You may want to try the latest 1.5.8+ and verify the rate.