"Shouldn't a newline be outputted once i == 10?"
No. Because the console input is buffered by default. getchar() will not return the next character in stdin before it found a newline character '\n' in stdin. The newline is required to flush the buffer.
There are implementation-based solutions possible to flush the input immediately and not waiting for the newline. For example getche() in conio.h under Windows/DOS or the cbreak() option and using getch() instead of getchar() in the curses-library for Linux.
Also your counting is incorrect, with i = 0; and if (i == MAXLINE) after 11 characters will a newline be placed in the output, not after 10. This is because you start at 0, not 1. Use either i = 1 or if (i == (MAXLINE - 1)) instead.
If you are on Windows/DOS, try:
#include <stdio.h>
#include <conio.h>             // Necessary to use getche().
#define MAXLINE 10
// count number of chars, once it reaches certain amount
int main (void) 
{
    int i, c;
    for (i = 0; (c = getche()) != EOF; i++)
    {
         if (i == (MAXLINE - 1))
         {
             printf("\n");             
             i = -1;          // Counter is reset. To break out of the loop use CTRL + Z.
         }
    }
    //printf("%d\n",i);
}
If the counter reset is a bit hard to understand for you, the code above is basically equivalent to:
#include <stdio.h>
#include <conio.h>             // Necessary to use getche().
#define MAXLINE 10
// count number of chars, once it reaches certain amount
int main (void) 
{
    int i, c;
    for (i = 1; (c = getche()) != EOF; i++)
    {
         if (i == MAXLINE)
         {
             printf("\n");
             i = 0;          // Counter is reset. To break out of the loop use CTRL + Z.
         }
    }
    //printf("%d\n",i);
}
For Linux use the cbreak() and getch() from the ncurses-library:
#include <stdio.h>
#include <ncurses.h>            
#define MAXLINE 10
// count number of chars, once it reaches certain amount
int main (void) 
{
    cbreak();
    echo();
    initscr();
    int i, c;
    for (i = 1; (c = getch()) != ERR; i++)
    {
         if (i == MAXLINE)
         {
             printf("\n");
             refresh();
             i = 0;          // Counter is reset. To break out of the loop use CTRL + D.
         }
    }
    //printf("%d\n",i);
    endwin();
}
Note: To use the ncurses-library, you need to add the -lnurses option at invoking the compiler.
Furthermore, you need to use initscr() and endwin() to open  and close the curses terminal window.