I found the following problems with the code
The 3rd and fourth parameters of ScaleBlit are the width and height you want the image to have. So to have a zooming effect, those need to increase from zero to however large you want it to end up as.
Instead of just having a for loop counting from 0 to 100, you probably would want to involve a timer so it runs at the same speed on all computers.
The variables for the center of the logo are unnecessary.
The xCent and yCent, (which you created but don't use), need to be used in the first two parameters. But with negative offsets of half the current width and height of the scaled blit.
The call to Render() is unnecessary.
Also, you accidentally made the yCent to be half the width of the screen instead of the height.
Here is a version that I tested on my computer.
void ZoomLogo()
{
int v3logo = LoadImage("v3logo.png"); // change this to load your image obviously
int xCent = ImageWidth(screen)/2;
int yCent = ImageHeight(screen)/2;
int logoW = ImageWidth(v3logo);
int logoH = ImageHeight(v3logo);
int i, w, h;
int max_timer = 400; // will cause this to take 4 seconds
timer = 0;
while(timer < max_timer)
{
RectFill(0,0,640,480,RGB(0,0,0),screen);
w = logoW * timer / max_timer;
h = logoH * timer / max_timer;
TScaleBlit(xCent - (w/2), yCent - (h/2), w, h, v3logo, screen);
ShowPage();
}
EnterWait();
}