Arduino Pro and Anemometer (Reading Pulse Times)

Speedvalue = (1492*3600000/SpeedDuration);

1492 and 3600000 are treated as ints. 1492 is an int, but 3600000 is not. You should have a L or UL at the end, to tell the compiler to treat the value as a long or unsigned long.

int analogSpeed = 0;             //Speed bus connected to analog pin 0
int analogDirection = 1;          //Direction bus connected to analog pin 1

Speedvalue = digitalRead(analogSpeed);       // Read the input pin at 0
Directionvalue = digitalRead(analogDirection);    // Read the input pin at 1

Are you using the digital pins, so digitalRead is appropriate, or the analog pins?
If you are using digital pins, 0 and 1 are not good choices while doing serial I/O.
If you are using analog pins, you should be using the analogRead function.