For me the code compiles perfectly fine. As User137 already asked - are you using command line, or Lazarus? The other thing I'd suggest is taking a look whether the SDL .pas files are not bugged somehow, or if there aren't any additional files named HelloSDL laying around that the compiler might grab.

And btw, an advice for the SDL code - it can be easier if you use TSDL_Rects, and use the @ operator to create a pointer for the BlitSurface routine.